Annotation of embedaddon/axTLS/Makefile, revision 1.1
1.1 ! misho 1: #
! 2: # Copyright (c) 2007, Cameron Rich
! 3: #
! 4: # All rights reserved.
! 5: #
! 6: # Redistribution and use in source and binary forms, with or without
! 7: # modification, are permitted provided that the following conditions are met:
! 8: #
! 9: # * Redistributions of source code must retain the above copyright notice,
! 10: # this list of conditions and the following disclaimer.
! 11: # * Redistributions in binary form must reproduce the above copyright
! 12: # notice, this list of conditions and the following disclaimer in the
! 13: # documentation and/or other materials provided with the distribution.
! 14: # * Neither the name of the axTLS project nor the names of its
! 15: # contributors may be used to endorse or promote products derived
! 16: # from this software without specific prior written permission.
! 17: #
! 18: # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! 19: # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! 20: # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
! 21: # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
! 22: # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
! 23: # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
! 24: # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
! 25: # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
! 26: # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! 27: # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! 28: # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 29: #
! 30:
! 31: -include config/.config
! 32:
! 33: ifneq ($(strip $(HAVE_DOT_CONFIG)),y)
! 34: all: menuconfig
! 35: else
! 36: all: target
! 37: endif
! 38:
! 39: include config/makefile.conf
! 40:
! 41: target : $(STAGE) $(TARGET)
! 42:
! 43: # VERSION has to come from the command line
! 44: RELEASE=axTLS-$(VERSION)
! 45:
! 46: # standard version
! 47: target:
! 48: $(MAKE) -C crypto
! 49: $(MAKE) -C ssl
! 50: ifdef CONFIG_AXHTTPD
! 51: $(MAKE) -C httpd
! 52: endif
! 53: ifdef CONFIG_AXTLSWRAP
! 54: $(MAKE) -C axtlswrap
! 55: endif
! 56: ifdef CONFIG_BINDINGS
! 57: $(MAKE) -C bindings
! 58: endif
! 59: ifdef CONFIG_SAMPLES
! 60: $(MAKE) -C samples
! 61: endif
! 62:
! 63: $(STAGE) : ssl/version.h
! 64: @mkdir -p $(STAGE)
! 65:
! 66: # create a version file with something in it.
! 67: ssl/version.h:
! 68: @echo "#define AXTLS_VERSION \"(no version)\"" > ssl/version.h
! 69:
! 70: $(PREFIX) :
! 71: @mkdir -p $(PREFIX)/lib
! 72: @mkdir -p $(PREFIX)/bin
! 73:
! 74: release:
! 75: $(MAKE) -C config/scripts/config clean
! 76: -$(MAKE) clean
! 77: -@rm config/*.msi config/*.back.aip config/config.h config/.config*
! 78: -@rm www/index.20*
! 79: -@rm -fr $(STAGE)
! 80: @echo "#define AXTLS_VERSION \"$(VERSION)\"" > ssl/version.h
! 81: cd ../; tar cvfz $(RELEASE).tar.gz --wildcards-match-slash --exclude .svn axTLS; cd -;
! 82:
! 83: docs:
! 84: $(MAKE) -C docsrc doco
! 85:
! 86: # build the Win32 demo release version
! 87: win32_demo:
! 88: @echo "#define AXTLS_VERSION \"$(VERSION)\"" > ssl/version.h
! 89: $(MAKE) win32releaseconf
! 90:
! 91: install: $(PREFIX) all
! 92: cp $(STAGE)/libax* $(PREFIX)/lib
! 93: chmod 755 $(PREFIX)/lib/libax*
! 94: ifdef CONFIG_SAMPLES
! 95: install -m 755 $(STAGE)/ax* $(PREFIX)/bin
! 96: endif
! 97: ifdef CONFIG_HTTP_HAS_AUTHORIZATION
! 98: install -m 755 $(STAGE)/htpasswd $(PREFIX)/bin
! 99: endif
! 100: ifdef CONFIG_PLATFORM_CYGWIN
! 101: install -m 755 $(STAGE)/cygaxtls.dll $(PREFIX)/bin
! 102: endif
! 103: ifdef CONFIG_PERL_BINDINGS
! 104: install -m 755 $(STAGE)/axtlsp.pm `perl -e 'use Config; print $$Config{installarchlib};'`
! 105: endif
! 106: @mkdir -p -m 755 $(PREFIX)/include/axTLS
! 107: install -m 644 crypto/*.h $(PREFIX)/include/axTLS
! 108: install -m 644 ssl/*.h $(PREFIX)/include/axTLS
! 109: -rm $(PREFIX)/include/axTLS/cert.h
! 110: -rm $(PREFIX)/include/axTLS/private_key.h
! 111: -rm $(PREFIX)/include/axTLS/os_port.h
! 112: install -m 644 config/config.h $(PREFIX)/include/axTLS
! 113:
! 114: installclean:
! 115: -@rm $(PREFIX)/lib/libax* > /dev/null 2>&1
! 116: -@rm $(PREFIX)/bin/ax* > /dev/null 2>&1
! 117: -@rm $(PREFIX)/bin/axhttpd* > /dev/null 2>&1
! 118: -@rm `perl -e 'use Config; print $$Config{installarchlib};'`/axtlsp.pm > /dev/null 2>&1
! 119:
! 120: test:
! 121: cd $(STAGE); ssltest; ../ssl/test/test_axssl.sh; cd -;
! 122:
! 123: # tidy up things
! 124: clean::
! 125: @cd crypto; $(MAKE) clean
! 126: @cd ssl; $(MAKE) clean
! 127: @cd httpd; $(MAKE) clean
! 128: @cd axtlswrap; $(MAKE) clean
! 129: @cd samples; $(MAKE) clean
! 130: @cd docsrc; $(MAKE) clean
! 131: @cd bindings; $(MAKE) clean
! 132:
! 133: # ---------------------------------------------------------------------------
! 134: # mconf stuff
! 135: # ---------------------------------------------------------------------------
! 136:
! 137: CONFIG_CONFIG_IN = config/Config.in
! 138: CONFIG_DEFCONFIG = config/defconfig
! 139:
! 140: config/scripts/config/conf: config/scripts/config/Makefile
! 141: $(MAKE) -C config/scripts/config conf
! 142: -@if [ ! -f config/.config ] ; then \
! 143: cp $(CONFIG_DEFCONFIG) config/.config; \
! 144: fi
! 145:
! 146: config/scripts/config/mconf: config/scripts/config/Makefile
! 147: $(MAKE) -C config/scripts/config ncurses conf mconf
! 148: -@if [ ! -f config/.config ] ; then \
! 149: cp $(CONFIG_DEFCONFIG) .config; \
! 150: fi
! 151:
! 152: cleanconf:
! 153: $(MAKE) -C config/scripts/config clean
! 154: @rm -f config/.config
! 155:
! 156: menuconfig: config/scripts/config/mconf
! 157: @./config/scripts/config/mconf $(CONFIG_CONFIG_IN)
! 158:
! 159: config: config/scripts/config/conf
! 160: @./config/scripts/config/conf $(CONFIG_CONFIG_IN)
! 161:
! 162: oldconfig: config/scripts/config/conf
! 163: @./config/scripts/config/conf -o $(CONFIG_CONFIG_IN)
! 164:
! 165: default: config/scripts/config/conf
! 166: @./config/scripts/config/conf -d $(CONFIG_CONFIG_IN) > /dev/null
! 167: $(MAKE)
! 168:
! 169: randconfig: config/scripts/config/conf
! 170: @./config/scripts/config/conf -r $(CONFIG_CONFIG_IN)
! 171:
! 172: allnoconfig: config/scripts/config/conf
! 173: @./config/scripts/config/conf -n $(CONFIG_CONFIG_IN)
! 174:
! 175: allyesconfig: config/scripts/config/conf
! 176: @./config/scripts/config/conf -y $(CONFIG_CONFIG_IN)
! 177:
! 178: # The special win32 release configuration
! 179: win32releaseconf: config/scripts/config/conf
! 180: @./config/scripts/config/conf -D config/win32config $(CONFIG_CONFIG_IN) > /dev/null
! 181: $(MAKE)
! 182:
! 183: # The special linux release configuration
! 184: linuxconf: config/scripts/config/conf
! 185: @./config/scripts/config/conf -D config/linuxconfig $(CONFIG_CONFIG_IN) > /dev/null
! 186: $(MAKE)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>