tunblick/third_party/Makefile

changeset 1
1a5334dfb21d
child 3
498e3929e555
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tunblick/third_party/Makefile	Wed Jul 29 11:23:17 2009 +0200
     1.3 @@ -0,0 +1,86 @@
     1.4 +# This Makefile builds all the third_party code
     1.5 +# It shouldn't be called by anything other than automated scripts
     1.6 +
     1.7 +# Both lzo and openvpn should be built universally
     1.8 +
     1.9 +LZO_DIR=lzo-2.02
    1.10 +PKCS11_DIR=pkcs11-helper-1.07
    1.11 +
    1.12 +all: tuntap lzo openvpn
    1.13 +
    1.14 +pkcs11-helper::
    1.15 +	@for a in ppc i686; do \
    1.16 +		echo Configure PKCS11-Helper for $$a; \
    1.17 +		cd $(PKCS11_DIR); \
    1.18 +		echo Forcefully be clean; \
    1.19 +		$(MAKE) clean; \
    1.20 +		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/; \
    1.21 +		echo Build PKCS11-Helper; \
    1.22 +		$(MAKE); \
    1.23 +		echo Install to third_party/$(PKCS11_DIR)/staging_$$a; \
    1.24 +		$(MAKE) install; \
    1.25 +		cd ../; \
    1.26 +	done
    1.27 +	mkdir -p $(PKCS11_DIR)/staging/lib
    1.28 +	lipo $(PKCS11_DIR)/staging_*/lib/libpkcs11-helper.a -create -output $(PKCS11_DIR)/staging/lib/libpkcs11-helper.a
    1.29 +	cp  $(PKCS11_DIR)/staging_i686/lib/libpkcs11-helper.la  $(PKCS11_DIR)/staging/lib/ 
    1.30 +
    1.31 +lzo::
    1.32 +	@for a in ppc i686; do \
    1.33 +		echo Configure LZO for $$a; \
    1.34 +		cd $(LZO_DIR); \
    1.35 +		echo Forcefully be clean; \
    1.36 +		$(MAKE) clean; \
    1.37 +		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/; \
    1.38 +		echo Build LZO; \
    1.39 +		$(MAKE); \
    1.40 +		echo Install to third_party/$(LZO_DIR)/staging_$$a; \
    1.41 +		$(MAKE) install; \
    1.42 +		cd ../; \
    1.43 +	done
    1.44 +	
    1.45 +	# Use lipo to create a universal library
    1.46 +	mkdir -p $(LZO_DIR)/staging/lib
    1.47 +	lipo $(LZO_DIR)/staging_*/lib/liblzo2.a -create -output $(LZO_DIR)/staging/lib/liblzo2.a
    1.48 +	cp  $(LZO_DIR)/staging_i686/lib/liblzo2.la  $(LZO_DIR)/staging/lib/ 
    1.49 +
    1.50 +	# wtf? library was renamed??? move it back so openvpn will build correctly
    1.51 +	cd $(LZO_DIR)/staging/lib/; mv liblzo2.a liblzo.a; mv liblzo2.la liblzo.la
    1.52 +	
    1.53 +lzo-clean:
    1.54 +	$(MAKE) -C $(LZO_DIR) clean
    1.55 +	rm -rf $(LZO_DIR)/staging*
    1.56 +
    1.57 +openvpn: lzo pkcs11-helper
    1.58 +	@for a in ppc i686; do \
    1.59 +		echo Configure OpenVPN for $$a; \
    1.60 +		cd openvpn/; \
    1.61 +		echo Forcefully be clean; \
    1.62 +		$(MAKE) clean; \
    1.63 +		autoreconf -i -v; \
    1.64 +		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; \
    1.65 +		echo Build OpenVPN; \
    1.66 +		$(MAKE); \
    1.67 +		mv openvpn openvpn_tblk_$$a; \
    1.68 +		cd ../; \
    1.69 +	done
    1.70 +		
    1.71 +		# Use lipo to create a universal library
    1.72 +		lipo openvpn/openvpn_tblk_* -create -output openvpn/openvpn
    1.73 +
    1.74 +openvpn-clean:
    1.75 +	$(MAKE) -C openvpn/ clean
    1.76 +	rm -f openvpn/openvpn_tblk_*
    1.77 +
    1.78 +.PHONY : tuntap
    1.79 +
    1.80 +tuntap: 
    1.81 +	# Now we'll build the tun/tap driver
    1.82 +	$(MAKE) -C tuntap/
    1.83 +
    1.84 +tuntap-clean:
    1.85 +	$(MAKE) -C tuntap/ clean
    1.86 +
    1.87 +
    1.88 +
    1.89 +clean: lzo-clean tuntap-clean openvpn-clean

mercurial