tunblick/third_party/Makefile

Wed, 29 Jul 2009 11:28:31 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 29 Jul 2009 11:28:31 +0200
changeset 2
da073b397539
child 3
498e3929e555
permissions
-rw-r--r--

Adjust for OSX10.5 and Xcode3.1.3 building 32/64 bit universal releases.

     1 # This Makefile builds all the third_party code
     2 # It shouldn't be called by anything other than automated scripts
     4 # Both lzo and openvpn should be built universally
     6 LZO_DIR=lzo-2.02
     7 PKCS11_DIR=pkcs11-helper-1.07
     9 all: tuntap lzo openvpn
    11 pkcs11-helper::
    12 	@for a in ppc i686; do \
    13 		echo Configure PKCS11-Helper for $$a; \
    14 		cd $(PKCS11_DIR); \
    15 		echo Forcefully be clean; \
    16 		$(MAKE) clean; \
    17 		OPENSSL_LIBS="-lcrypto" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -Os -mmacosx-version-min=10.4 -arch $$a" ./configure --enable-static --disable-dependency-tracking --prefix=$$(pwd)/staging_$$a/ --includedir=$$(pwd)/staging/include/; \
    18 		echo Build PKCS11-Helper; \
    19 		$(MAKE); \
    20 		echo Install to third_party/$(PKCS11_DIR)/staging_$$a; \
    21 		$(MAKE) install; \
    22 		cd ../; \
    23 	done
    24 	mkdir -p $(PKCS11_DIR)/staging/lib
    25 	lipo $(PKCS11_DIR)/staging_*/lib/libpkcs11-helper.a -create -output $(PKCS11_DIR)/staging/lib/libpkcs11-helper.a
    26 	cp  $(PKCS11_DIR)/staging_i686/lib/libpkcs11-helper.la  $(PKCS11_DIR)/staging/lib/ 
    28 lzo::
    29 	@for a in ppc i686; do \
    30 		echo Configure LZO for $$a; \
    31 		cd $(LZO_DIR); \
    32 		echo Forcefully be clean; \
    33 		$(MAKE) clean; \
    34 		CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -Os -mmacosx-version-min=10.4 -arch $$a" ./configure --disable-dependency-tracking --disable-asm --prefix=$$(pwd)/staging_$$a/ --includedir=$$(pwd)/staging/include/; \
    35 		echo Build LZO; \
    36 		$(MAKE); \
    37 		echo Install to third_party/$(LZO_DIR)/staging_$$a; \
    38 		$(MAKE) install; \
    39 		cd ../; \
    40 	done
    42 	# Use lipo to create a universal library
    43 	mkdir -p $(LZO_DIR)/staging/lib
    44 	lipo $(LZO_DIR)/staging_*/lib/liblzo2.a -create -output $(LZO_DIR)/staging/lib/liblzo2.a
    45 	cp  $(LZO_DIR)/staging_i686/lib/liblzo2.la  $(LZO_DIR)/staging/lib/ 
    47 	# wtf? library was renamed??? move it back so openvpn will build correctly
    48 	cd $(LZO_DIR)/staging/lib/; mv liblzo2.a liblzo.a; mv liblzo2.la liblzo.la
    50 lzo-clean:
    51 	$(MAKE) -C $(LZO_DIR) clean
    52 	rm -rf $(LZO_DIR)/staging*
    54 openvpn: lzo pkcs11-helper
    55 	@for a in ppc i686; do \
    56 		echo Configure OpenVPN for $$a; \
    57 		cd openvpn/; \
    58 		echo Forcefully be clean; \
    59 		$(MAKE) clean; \
    60 		autoreconf -i -v; \
    61 		LDFLAGS="-L../$(PKCS11_DIR)/staging/lib/" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -Os -mmacosx-version-min=10.4 -arch $$a" ./configure --with-lzo-headers=../$(LZO_DIR)/staging/include/ --with-lzo-lib=../$(LZO_DIR)/staging/lib/ --with-pkcs11-helper-headers=../$(PKCS11_DIR)/staging/include/ --with-pkcs11-helper-libs=../$(PKCS11_DIR)/staging/lib/ --disable-dependency-tracking; \
    62 		echo Build OpenVPN; \
    63 		$(MAKE); \
    64 		mv openvpn openvpn_tblk_$$a; \
    65 		cd ../; \
    66 	done
    68 		# Use lipo to create a universal library
    69 		lipo openvpn/openvpn_tblk_* -create -output openvpn/openvpn
    71 openvpn-clean:
    72 	$(MAKE) -C openvpn/ clean
    73 	rm -f openvpn/openvpn_tblk_*
    75 .PHONY : tuntap
    77 tuntap: 
    78 	# Now we'll build the tun/tap driver
    79 	$(MAKE) -C tuntap/
    81 tuntap-clean:
    82 	$(MAKE) -C tuntap/ clean
    86 clean: lzo-clean tuntap-clean openvpn-clean

mercurial