root/trunk/Makefile_light

Revision 112, 14.4 kB (checked in by jps, 3 months ago)

New SCA Light Release 0.2.4

  • Property svn:executable set to *
Line 
1BUILDHOME = $(PWD)
2OPENSCVERSION = 0.11.6
3SCAVERSION = 0.2.4
4IFDEGATEVERSION = 0.05
5LIBUSBVERSION = 0.1.12
6TOKEND_IMAGE_LOCATION = $(HOME)/darwinbuild-0.7.2/Builds.dmg
7TOKEND_IMAGE_NAME = /Volumes/Builds
8TOKEND_PPC_BUILD_NAME = Build8H14
9TOKEND_i386_BUILD_NAME = Build8G1454
10PACKAGEMAKER = /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
11
12all: sca_light-$(SCAVERSION).dmg
13
14clean: clean-opensc clean-libusb clean-ifd-egate clean-pcscd_autostart \
15        clean-opensc_tokend
16
17clean-opensc:
18        rm -rf opensc
19        rm -rf compiled-opensc
20        rm -rf OpenSC.pkg
21        rm -f fetch-opensc build-opensc package-opensc lipo-opensc
22
23clean-libusb:
24        rm -rf libusb
25        rm -rf libusb.pkg
26        rm -rf compiled-libusb
27        rm -f fetch-libusb build-libusb package-libusb lipo-libusb
28
29clean-ifd-egate:
30        rm -rf ifd-egate
31        rm -rf ifd-egate.pkg
32        rm -rf compiled-ifd-egate
33        rm -f fetch-ifd-egate build-ifd-egate package-ifd-egate lipo-ifd-egate
34
35clean-pcscd_autostart:
36        rm -rf pcscd_autostart.pkg
37        rm -f package-pcscd_autostart
38        rm -rf compiled-pcscd_autostart
39        rm -f build-pcscd_autostart package-pcscd_autostart
40
41clean-opensc_tokend:
42        rm -rf compiled-opensc_tokend
43        rm -rf opensc_tokend.pkg
44        rm -f build-tokend package-opensc_tokend
45
46clean-sca:
47        rm -f sca_light-$(SCAVERSION).dmg
48        rm -f sca_reader-$(SCAVERSION).dmg
49        rm -rf sca_light.mpkg
50        rm -rf reader_light.mpkg
51
52clean-i386:
53        rm -rf compiled-*-i386
54        rm -f compiled-i386.tgz
55
56dist: sca_light-$(SCAVERSION).dmg
57
58sca_light-$(SCAVERSION).dmg:
59        rm -rf sca_light.mpkg
60        cp -R sca_orig.mpkg sca_light.mpkg
61        cp -R OpenSC.pkg sca_light.mpkg/Contents/Packages/
62        cp -R opensc_tokend.pkg sca_light.mpkg/Contents/Packages/
63        find sca_light.mpkg -name '.svn' | xargs rm -rf
64        rm -rf reader_light.mpkg
65        cp -R sca_orig.mpkg reader_light.mpkg
66        cp -R libusb.pkg reader_light.mpkg/Contents/Packages/
67        cp -R ifd-egate.pkg     reader_light.mpkg/Contents/Packages/
68        cp -R pcscd_autostart.pkg reader_light.mpkg/Contents/Packages/
69        find reader_light.mpkg -name '.svn' | xargs rm -rf
70        hdiutil create -srcfolder sca_light.mpkg -volname "SCA Light $(SCAVERSION)" sca_light-$(SCAVERSION).dmg
71        hdiutil create -srcfolder reader_light.mpkg -volname "SCA Reader $(SCAVERSION)" sca_reader-$(SCAVERSION).dmg
72#       hdiutil internet-enable -yes sca-$(SCAVERSION).dmg
73#       md5sum sca-$(SCAVERSION).dmg > sca-$(SCAVERSION).dmg.md5
74
75opensc-$(OPENSCVERSION).tar.gz:
76        curl -O http://www.opensc-project.org/files/opensc/$@
77        # curl -O http://www.opensc-project.org/files/opensc/snapshots/$@
78        # curl -O http://www.opensc-project.org/files/opensc/testing/$@
79
80ifd-egate-$(IFDEGATEVERSION)-patched.tar.gz:
81        curl -O http://www.luusa.org/~wbx/sc/$@
82
83libusb-$(LIBUSBVERSION).tar.gz:
84        curl -O http://switch.dl.sourceforge.net/sourceforge/libusb/$@
85
86fetch: fetch-opensc fetch-libusb fetch-ifd-egate
87
88fetch-opensc: opensc-$(OPENSCVERSION).tar.gz
89        rm -rf opensc
90        tar xzvf $^
91        mv opensc-$(OPENSCVERSION) opensc
92        touch $@
93
94fetch-libusb: libusb-$(LIBUSBVERSION).tar.gz
95        rm -rf libusb
96        tar xzvf $^
97        mv libusb-$(LIBUSBVERSION) libusb
98        cd libusb && patch < ../libusb-runloop.patch
99        touch $@
100
101fetch-ifd-egate: ifd-egate-$(IFDEGATEVERSION)-patched.tar.gz
102        rm -rf ifd-egate
103        tar xzvf $^
104        mv ifd-egate-$(IFDEGATEVERSION) ifd-egate
105        touch $@
106
107build: build-opensc build-libusb build-ifd-egate build-tokend \
108        build-tokend-end build-pcscd_autostart
109
110build-opensc: fetch-opensc
111        cd opensc && \
112        OPENSSL_CFLAGS="-I/usr/include" \
113        OPENSSL_LIBS="-L/usr/lib -lcrypto" \
114        ./configure --prefix=/Library/OpenSC --sysconfdir=/Library/OpenSC/etc --enable-pcsc && \
115        make && \
116        make install prefix=$(BUILDHOME)/compiled-opensc/Library/OpenSC
117        touch $@
118
119build-libusb: fetch-libusb
120        cd libusb && \
121        ./configure --prefix=/Library/OpenSC --disable-build-docs && \
122        make && \
123        make install prefix=$(BUILDHOME)/compiled-libusb/Library/OpenSC
124        touch $@
125
126build-ifd-egate: fetch-ifd-egate
127        cd ifd-egate && \
128        USB_CFLAGS="-I$(BUILDHOME)/compiled-libusb/Library/OpenSC/include -I/System/Library/Frameworks/PCSC.framework/Headers" \
129        USB_LDFLAGS="-L$(BUILDHOME)/compiled-libusb/Library/OpenSC/lib -lusb -Wl,-framework -Wl,PCSC" \
130        make -f Makefile-OSX
131        mkdir -p $(BUILDHOME)/compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/MacOS
132        cp ifd-egate/Info.plist-OSX $(BUILDHOME)/compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/Info.plist
133        cp ifd-egate/libifd_egate.dylib $(BUILDHOME)/compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/MacOS
134        touch $@
135
136build-tokend:
137        hdiutil attach $(TOKEND_IMAGE_LOCATION)
138        rm -rf $(TOKEND_IMAGE_NAME)/$(TOKEND_PPC_BUILD_NAME)/Sources/Tokend-25868
139        ditto opensc.tokend $(TOKEND_IMAGE_NAME)/$(TOKEND_PPC_BUILD_NAME)/Sources/Tokend-25868
140        cd $(TOKEND_IMAGE_NAME)/$(TOKEND_PPC_BUILD_NAME)/Sources/Tokend-25868 && \
141        xcodebuild -configuration Deployment
142        rm -rf $(TOKEND_IMAGE_NAME)/$(TOKEND_i386_BUILD_NAME)/Sources/Tokend-26098
143        ditto opensc.tokend $(TOKEND_IMAGE_NAME)/$(TOKEND_i386_BUILD_NAME)/Sources/Tokend-26098
144        mv -f $(TOKEND_IMAGE_NAME)/$(TOKEND_i386_BUILD_NAME)/Sources/Tokend-26098/Tokend.xcodeproj/project.pbxproj_i386 \
145        $(TOKEND_IMAGE_NAME)/$(TOKEND_i386_BUILD_NAME)/Sources/Tokend-26098/Tokend.xcodeproj/project.pbxproj
146        cd $(TOKEND_IMAGE_NAME)/$(TOKEND_i386_BUILD_NAME)/Sources/Tokend-26098 && \
147        xcodebuild -configuration Deployment
148        mkdir -p $(BUILDHOME)/compiled-opensc_tokend/System/Library/Security/tokend
149        cp -r $(TOKEND_IMAGE_NAME)/$(TOKEND_PPC_BUILD_NAME)/Sources/Tokend-25868/build/Deployment/OpenSC.tokend $(BUILDHOME)/compiled-opensc_tokend/System/Library/Security/tokend/
150        lipo $(TOKEND_IMAGE_NAME)/$(TOKEND_i386_BUILD_NAME)/Sources/Tokend-26098/build/Deployment/OpenSC.tokend/Contents/MacOS/OpenSC \
151        $(BUILDHOME)/compiled-opensc_tokend/System/Library/Security/tokend/OpenSC.tokend/Contents/MacOS/OpenSC \
152        -create -output $(BUILDHOME)/compiled-opensc_tokend/System/Library/Security/tokend/OpenSC.tokend/Contents/MacOS/OpenSC
153        touch $@
154
155build-tokend-end:
156        hdiutil detach $(TOKEND_IMAGE_NAME)
157
158build-pcscd_autostart:
159        mkdir compiled-pcscd_autostart
160        cp -R pcscd_autostart/files/* compiled-pcscd_autostart
161        touch $@
162
163lipo: lipo-opensc lipo-libusb lipo-ifd-egate
164
165lipo-opensc: compiled-opensc-i386
166        cd compiled-opensc/Library/OpenSC/bin/ && \
167        lipo -create cardos-info ../../../../compiled-opensc-i386/Library/OpenSC/bin/cardos-info -output cardos-info_univ && \
168        mv -f cardos-info_univ cardos-info
169        cd compiled-opensc/Library/OpenSC/bin/ && \
170        lipo -create cryptoflex-tool ../../../../compiled-opensc-i386/Library/OpenSC/bin/cryptoflex-tool -output cryptoflex-tool_univ && \
171        mv -f cryptoflex-tool_univ cryptoflex-tool
172        cd compiled-opensc/Library/OpenSC/bin/ && \
173        lipo -create eidenv ../../../../compiled-opensc-i386/Library/OpenSC/bin/eidenv -output eidenv_univ && \
174        mv -f eidenv_univ eidenv
175        cd compiled-opensc/Library/OpenSC/bin/ && \
176        lipo -create netkey-tool ../../../../compiled-opensc-i386/Library/OpenSC/bin/netkey-tool -output netkey-tool_univ && \
177        mv -f netkey-tool_univ netkey-tool
178        cd compiled-opensc/Library/OpenSC/bin/ && \
179        lipo -create opensc-explorer ../../../../compiled-opensc-i386/Library/OpenSC/bin/opensc-explorer -output opensc-explorer_univ && \
180        mv -f opensc-explorer_univ opensc-explorer
181        cd compiled-opensc/Library/OpenSC/bin/ && \
182        lipo -create opensc-tool ../../../../compiled-opensc-i386/Library/OpenSC/bin/opensc-tool -output opensc-tool_univ && \
183        mv -f opensc-tool_univ opensc-tool
184        cd compiled-opensc/Library/OpenSC/bin/ && \
185        lipo -create piv-tool ../../../../compiled-opensc-i386/Library/OpenSC/bin/piv-tool -output piv-tool_univ && \
186        mv -f piv-tool_univ piv-tool
187        cd compiled-opensc/Library/OpenSC/bin/ && \
188        lipo -create pkcs11-tool ../../../../compiled-opensc-i386/Library/OpenSC/bin/pkcs11-tool -output pkcs11-tool_univ && \
189        mv -f pkcs11-tool_univ pkcs11-tool
190        cd compiled-opensc/Library/OpenSC/bin/ && \
191        lipo -create pkcs15-crypt ../../../../compiled-opensc-i386/Library/OpenSC/bin/pkcs15-crypt -output pkcs15-crypt_univ && \
192        mv -f pkcs15-crypt_univ pkcs15-crypt
193        cd compiled-opensc/Library/OpenSC/bin/ && \
194        lipo -create pkcs15-init ../../../../compiled-opensc-i386/Library/OpenSC/bin/pkcs15-init -output pkcs15-init_univ && \
195        mv -f pkcs15-init_univ pkcs15-init
196        cd compiled-opensc/Library/OpenSC/bin/ && \
197        lipo -create pkcs15-tool ../../../../compiled-opensc-i386/Library/OpenSC/bin/pkcs15-tool -output pkcs15-tool_univ && \
198        mv -f pkcs15-tool_univ pkcs15-tool
199        cd compiled-opensc/Library/OpenSC/lib/ && \
200        lipo -create libopensc.2.0.0.dylib ../../../../compiled-opensc-i386/Library/OpenSC/lib/libopensc.2.0.0.dylib -output libopensc.2.0.0_univ.dylib && \
201        mv -f libopensc.2.0.0_univ.dylib libopensc.2.0.0.dylib
202        cd compiled-opensc/Library/OpenSC/lib/ && \
203        lipo -create libpkcs15init.2.0.0.dylib ../../../../compiled-opensc-i386/Library/OpenSC/lib/libpkcs15init.2.0.0.dylib -output libpkcs15init.2.0.0_univ.dylib && \
204        mv -f libpkcs15init.2.0.0_univ.dylib libpkcs15init.2.0.0.dylib
205        cd compiled-opensc/Library/OpenSC/lib/ && \
206        lipo -create libscconf.2.0.0.dylib ../../../../compiled-opensc-i386/Library/OpenSC/lib/libscconf.2.0.0.dylib -output libscconf.2.0.0_univ.dylib && \
207        mv -f libscconf.2.0.0_univ.dylib libscconf.2.0.0.dylib
208        cd compiled-opensc/Library/OpenSC/lib/ && \
209        lipo -create opensc-pkcs11.so ../../../../compiled-opensc-i386/Library/OpenSC/lib/opensc-pkcs11.so -output opensc-pkcs11_univ.so && \
210        mv -f opensc-pkcs11_univ.so opensc-pkcs11.so
211        cd compiled-opensc/Library/OpenSC/lib/ && \
212        lipo -create pkcs11-spy.so ../../../../compiled-opensc-i386/Library/OpenSC/lib/pkcs11-spy.so -output pkcs11-spy_univ.so && \
213        mv -f pkcs11-spy_univ.so pkcs11-spy.so
214        cd compiled-opensc/Library/OpenSC/lib/ && \
215        lipo -create libopensc.a ../../../../compiled-opensc-i386/Library/OpenSC/lib/libopensc.a -output libopensc_univ.a && \
216        mv -f libopensc_univ.a libopensc.a
217        cd compiled-opensc/Library/OpenSC/lib/ && \
218        lipo -create libpkcs15init.a ../../../../compiled-opensc-i386/Library/OpenSC/lib/libpkcs15init.a -output libpkcs15init_univ.a && \
219        mv -f libpkcs15init_univ.a libpkcs15init.a
220        cd compiled-opensc/Library/OpenSC/lib/ && \
221        lipo -create libscconf.a ../../../../compiled-opensc-i386/Library/OpenSC/lib/libscconf.a -output libscconf_univ.a && \
222        mv -f libscconf_univ.a libscconf.a
223        cd compiled-opensc/Library/OpenSC/lib/ && \
224        lipo -create opensc-pkcs11.a ../../../../compiled-opensc-i386/Library/OpenSC/lib/opensc-pkcs11.a -output opensc-pkcs11_univ.a && \
225        mv -f opensc-pkcs11_univ.a opensc-pkcs11.a
226        cd compiled-opensc/Library/OpenSC/lib/ && \
227        lipo -create pkcs11-spy.a ../../../../compiled-opensc-i386/Library/OpenSC/lib/pkcs11-spy.a -output pkcs11-spy_univ.a && \
228        mv -f pkcs11-spy_univ.a pkcs11-spy.a
229        touch $@
230
231lipo-libusb: compiled-libusb-i386
232        cd compiled-libusb/Library/OpenSC/lib/ && \
233        lipo -create libusb-0.1.4.4.4.dylib ../../../../compiled-libusb-i386/Library/OpenSC/lib/libusb-0.1.4.4.4.dylib -output libusb-0.1.4.4.4-univ.dylib && \
234        mv -f libusb-0.1.4.4.4-univ.dylib libusb-0.1.4.4.4.dylib
235        cd compiled-libusb/Library/OpenSC/lib/ && \
236        lipo -create libusbpp-0.1.4.4.4.dylib ../../../../compiled-libusb-i386/Library/OpenSC/lib/libusbpp-0.1.4.4.4.dylib -output libusbpp-0.1.4.4.4-univ.dylib && \
237        mv -f libusbpp-0.1.4.4.4-univ.dylib libusbpp-0.1.4.4.4.dylib
238        cd compiled-libusb/Library/OpenSC/lib/ && \
239        lipo -create libusb.a ../../../../compiled-libusb-i386/Library/OpenSC/lib/libusb.a -output libusb-univ.a && \
240        mv -f libusb-univ.a libusb.a
241        cd compiled-libusb/Library/OpenSC/lib/ && \
242        lipo -create libusbpp.a ../../../../compiled-libusb-i386/Library/OpenSC/lib/libusbpp.a -output libusbpp-univ.a && \
243        mv -f libusbpp-univ.a libusbpp.a
244        touch $@
245
246lipo-ifd-egate: compiled-ifd-egate-i386
247        cd compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/MacOS/ && \
248        lipo -create libifd_egate.dylib ../../../../../../../../compiled-ifd-egate-i386/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/MacOS/libifd_egate.dylib -output libifd_egate-univ.dylib && \
249        mv -f libifd_egate-univ.dylib libifd_egate.dylib
250        touch $@
251
252install:
253        mkdir -p compiled-opensc/Library/OpenSC/etc/
254        cp opensc/etc/opensc.conf compiled-opensc/Library/OpenSC/etc/opensc.conf.orig
255        cp opensc-uninstall compiled-opensc/Library/OpenSC/bin/
256        mkdir -p compiled-opensc/Library/OpenSC/doc/opensc/html
257        #cp  opensc/doc/ChangeLog compiled-opensc/Library/OpenSC/doc/opensc/
258        #cp  opensc/doc/*.html compiled-opensc/Library/OpenSC/doc/opensc/
259        #cp  opensc/doc/*.css compiled-opensc/Library/OpenSC/doc/opensc/
260        #cp  opensc/doc/html/*.html compiled-opensc/Library/OpenSC/doc/opensc/html
261        ./libtool-bundle compiled-opensc/Library/OpenSC/lib/opensc-pkcs11.so compiled-opensc/Library/OpenSC/lib
262        cp howto compiled-opensc/Library/OpenSC/doc/build-howto.txt
263        mkdir -p compiled-opensc/usr/lib/
264        cp /usr/lib/libltdl.3.dylib compiled-opensc/usr/lib/
265        chown -R root:wheel $(BUILDHOME)/compiled*/*
266        chmod -R g+w $(BUILDHOME)/compiled*/*
267
268package: package-opensc package-libusb package-pcscd_autostart package-ifd-egate package-opensc_tokend sca_light-$(SCAVERSION).dmg
269
270package-opensc: build-opensc
271        $(PACKAGEMAKER) -build -p OpenSC.pkg -f compiled-opensc -v -ds \
272        -i opensc-pack/Info.plist -r opensc-pack/resources -d opensc-pack/Description.plist
273        cp opensc-pack/InstallationCheck.strings OpenSC.pkg/Contents/Resources/English.lproj
274        cp opensc-pack/InstallationCheck.strings OpenSC.pkg/Contents/Resources
275        touch $@
276
277package-libusb: build-libusb
278        $(PACKAGEMAKER) -build -p libusb.pkg -f compiled-libusb -v -ds \
279        -i libusb-pack/Info.plist -d libusb-pack/Description.plist
280        touch $@
281
282package-ifd-egate: build-ifd-egate
283        $(PACKAGEMAKER) -build -p ifd-egate.pkg -f compiled-ifd-egate -v -ds \
284        -i ifd-egate-pack/Info.plist -d ifd-egate-pack/Description.plist
285        touch $@
286
287package-pcscd_autostart: build-pcscd_autostart
288        $(PACKAGEMAKER) -build -p pcscd_autostart.pkg -f compiled-pcscd_autostart -v -ds \
289        -i pcscd_autostart/Info.plist -r pcscd_autostart/resources -d pcscd_autostart/Description.plist
290        touch $@
291
292package-opensc_tokend: build-tokend
293        $(PACKAGEMAKER) -build -p opensc_tokend.pkg -f compiled-opensc_tokend -v -ds \
294        -i opensc_tokend-pack/Info.plist -d opensc_tokend-pack/Description.plist
295        touch $@
296
297uninstall-all: uninstall-pcscd_autostart uninstall
298
299uninstall:
300        rm -rf /Library/Receipts/libusb.pkg
301        rm -rf /Library/Receipts/ifd-egate.pkg
302        rm -rf /Library/Receipts/OpenSC.pkg
303        rm -rf /Library/Receipts/opensc_tokend.pkg
304        rm -rf /Library/OpenSC
305        rm -rf /System/Library/Security/tokend/OpenSC.tokend
306        rm -rf /usr/libexec/SmartCardServices/drivers/ifd-egate.bundle
307
308uninstall-pcscd_autostart:
309        rm -rf /Library/Receipts/pcscd_autostart.pkg
310        launchctl unload -w /Library/LaunchDaemons/org.opensc.pcscd.autostart
311        rm -f /Library/LaunchDaemons/org.opensc.pcscd.autostart
312        /Library/OpenSC/bin/sc-securityd.py active
Note: See TracBrowser for help on using the browser.