Annotation of embedaddon/axTLS/Makefile, revision 1.1.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>