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