| |
1 # This Makefile builds all the third_party code |
| |
2 # It shouldn't be called by anything other than automated scripts |
| |
3 |
| |
4 # Both lzo and openvpn should be built universally |
| |
5 |
| |
6 LZO_DIR=lzo-2.02 |
| |
7 PKCS11_DIR=pkcs11-helper-1.07 |
| |
8 |
| |
9 all: tuntap lzo openvpn |
| |
10 |
| |
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/ |
| |
27 |
| |
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 |
| |
41 |
| |
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/ |
| |
46 |
| |
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 |
| |
49 |
| |
50 lzo-clean: |
| |
51 $(MAKE) -C $(LZO_DIR) clean |
| |
52 rm -rf $(LZO_DIR)/staging* |
| |
53 |
| |
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 |
| |
67 |
| |
68 # Use lipo to create a universal library |
| |
69 lipo openvpn/openvpn_tblk_* -create -output openvpn/openvpn |
| |
70 |
| |
71 openvpn-clean: |
| |
72 $(MAKE) -C openvpn/ clean |
| |
73 rm -f openvpn/openvpn_tblk_* |
| |
74 |
| |
75 .PHONY : tuntap |
| |
76 |
| |
77 tuntap: |
| |
78 # Now we'll build the tun/tap driver |
| |
79 $(MAKE) -C tuntap/ |
| |
80 |
| |
81 tuntap-clean: |
| |
82 $(MAKE) -C tuntap/ clean |
| |
83 |
| |
84 |
| |
85 |
| |
86 clean: lzo-clean tuntap-clean openvpn-clean |