Hello, I was trying to use sca (Smart Card for Apple) and found some "problems" in the Makefile. Martin corrected some yesterday. I would like to propose mine: - reformat to avoid lines longer than 80 characters - remove some blank characters at end of line - fetch only when needed (add a "touch fetch-foo" in the fetch-foo rule) - build only when needed (add a "touch build-foo" in the build-foo rule) - package only when needed (add a "touch package-foo" in the package-foo rule) - remove the fetch-foo, build-foo and package-foo files in the clean-foo rule
The main idea is that make will not try to redo what was already successfully done. patch included Any objection to this commit? -- Dr. Ludovic Rousseau
Index: Makefile =================================================================== --- Makefile (révision 51) +++ Makefile (copie de travail) @@ -16,49 +16,60 @@ PACKAGEMAKER = /Developer/Applications/U all: sca-$(SCAVERSION).dmg -clean: clean-opensc clean-libp11 clean-engine clean-openssl clean-openssh clean-libusb clean-ifd-egate clean-pcscd_autostart clean-opensc_tokend +clean: clean-opensc clean-libp11 clean-engine clean-openssl \ + clean-openssh clean-libusb clean-ifd-egate clean-pcscd_autostart \ + clean-opensc_tokend clean-opensc: rm -rf opensc rm -rf compiled-opensc rm -rf OpenSC.pkg - + rm -f fetch-opensc build-opensc package-opensc + clean-libp11: rm -rf libp11 rm -rf libp11.pkg rm -rf compiled-libp11 - + rm -f fetch-libp11 build-libp11 package-libp11 + clean-engine: rm -rf engine_pkcs11 rm -rf engine_pkcs11.pkg rm -rf compiled-engine - + rm -f fetch-engine build-engine package-engine + clean-openssl: rm -rf openssl rm -rf openssl.pkg rm -rf compiled-openssl - + rm -f fetch-openssl build-openssl package-openssl + clean-openssh: rm -rf openssh rm -rf openssh.pkg rm -rf compiled-openssh - + rm -f fetch-openssh build-openssh package-openssh + clean-libusb: rm -rf libusb rm -rf libusb.pkg rm -rf compiled-libusb - + rm -f fetch-libusb build-libusb package-libusb + clean-ifd-egate: rm -rf ifd-egate rm -rf ifd-egate.pkg rm -rf compiled-ifd-egate - + rm -f fecth-ifd-egate build-ifd-egate package-ifd-egate + clean-pcscd_autostart: rm -rf pcscd_autostart.pkg - + rm -f package-pcscd_autostart + clean-opensc_tokend: rm -rf compiled-opensc_tokend rm -rf opensc_tokend.pkg + rm -f fetch-tokend build-tokend build-tokend-end package-opensc_tokend clean-sca: rm -f sca-$(SCAVERSION).dmg* @@ -66,9 +77,9 @@ clean-sca: dist: sca-$(SCAVERSION).dmg -sca-$(SCAVERSION).dmg: +sca-$(SCAVERSION).dmg: package rm -rf sca.mpkg - cp -R sca_orig.mpkg sca.mpkg + cp -R sca_orig.mpkg sca.mpkg cp -R OpenSC.pkg sca.mpkg/Contents/Packages/ cp -R libp11.pkg sca.mpkg/Contents/Packages/ cp -R engine_pkcs11.pkg sca.mpkg/Contents/Packages/ @@ -86,98 +97,112 @@ sca-$(SCAVERSION).dmg: opensc-$(OPENSCVERSION).tar.gz: # wget http://www.opensc-project.org/files/opensc/$@ wget http://www.opensc-project.org/files/snapshots/$@ - + libp11-$(LIBP11VERSION).tar.gz: wget http://www.opensc-project.org/files/libp11/$@ - + engine_pkcs11-$(ENGINEVERSION).tar.gz: wget http://www.opensc-project.org/files/engine_pkcs11/$@ openssl-$(OPENSSLVERSION).tar.gz: # wget http://www.openssl.org/source/$@ wget http://mirrors.usc.edu/pub/openssl/snapshot/$@ - + openssh-$(OPENSSHVERSION).tar.gz: wget http://ftp.belnet.be/packages/openbsd/OpenSSH/portable/$@ - + ifd-egate-$(IFDEGATEVERSION)-patched.tar.gz: wget http://www.luusa.org/~wbx/sc/$@ - + libusb-$(LIBUSBVERSION).tar.gz: wget http://switch.dl.sourceforge.net/sourceforge/libusb/$@ - -fetch: fetch-opensc fetch-libp11 fetch-engine fetch-openssl fetch-openssh fetch-libusb fetch-ifd-egate + +fetch: fetch-opensc fetch-libp11 fetch-engine fetch-openssl \ + fetch-openssh fetch-libusb fetch-ifd-egate fetch-opensc: opensc-$(OPENSCVERSION).tar.gz rm -rf opensc tar xzvf $^ mv opensc-$(OPENSCVERSION) opensc - + touch fetch-opensc + fetch-libp11: libp11-$(LIBP11VERSION).tar.gz rm -rf libp11 tar xzvf $^ mv libp11-$(LIBP11VERSION) libp11 - + touch fetch-libp11 + fetch-engine: engine_pkcs11-$(ENGINEVERSION).tar.gz rm -rf engine_pkcs11 tar xzvf $^ mv engine_pkcs11-$(ENGINEVERSION) engine_pkcs11 + touch fetch-engine fetch-openssl: openssl-$(OPENSSLVERSION).tar.gz rm -rf openssl tar xzvf $^ mv openssl-$(OPENSSLVERSION) openssl - + touch fetch-openssl + fetch-openssh: openssh-$(OPENSSHVERSION).tar.gz rm -rf openssh tar xzvf $^ mv openssh-$(OPENSSHVERSION) openssh cd openssh && patch -p1 <../opensc/src/openssh/ask-for-pin.diff - + touch fetch-openssh + fetch-libusb: libusb-$(LIBUSBVERSION).tar.gz rm -rf libusb tar xzvf $^ mv libusb-$(LIBUSBVERSION) libusb + touch fetch-libusb fetch-ifd-egate: ifd-egate-$(IFDEGATEVERSION)-patched.tar.gz rm -rf ifd-egate tar xzvf $^ mv ifd-egate-$(IFDEGATEVERSION) ifd-egate - -build: build-openssl build-opensc build-libp11 build-engine build-openssh build-libusb build-ifd-egate build-tokend build-tokend-end - -build-opensc: + touch fetch-ifd-egate + +build: build-openssl build-opensc build-libp11 build-engine \ + build-openssh build-libusb build-ifd-egate build-tokend \ + build-tokend-end + +build-opensc: fetch-opensc cd opensc && \ OPENSSL_CFLAGS="-I$(BUILDHOME)/compiled-openssl/Library/OpenSC/include" \ OPENSSL_LIBS="-L$(BUILDHOME)/compiled-openssl/Library/OpenSC/lib -lcrypto" \ ./configure --prefix=/Library/OpenSC --sysconfdir=/Library/OpenSC/etc && \ make && \ make install prefix=$(BUILDHOME)/compiled-opensc/Library/OpenSC - -build-libp11: + touch build-opensc + +build-libp11: fetch-libp11 cd libp11 && \ OPENSSL_CFLAGS="-I$(BUILDHOME)/compiled-openssl/Library/OpenSC/include" \ OPENSSL_LIBS="-L$(BUILDHOME)/compiled-openssl/Library/OpenSC/lib -lcrypto" \ ./configure --prefix=/Library/OpenSC && \ make && \ make install prefix=$(BUILDHOME)/compiled-libp11/Library/OpenSC - -build-engine: + touch build-libp11 + +build-engine: fetch-engine cd engine_pkcs11 && \ LIBP11_CFLAGS="-I$(BUILDHOME)/compiled-libp11/Library/OpenSC/include" \ LIBP11_LIBS="-L$(BUILDHOME)/compiled-libp11/Library/OpenSC/lib -lp11" \ ./configure --prefix=/Library/OpenSC --with-openssl=$(BUILDHOME)/compiled-openssl/Library/OpenSC && \ make && \ make install prefix=$(BUILDHOME)/compiled-engine/Library/OpenSC + touch build-engine -build-openssl: +build-openssl: fetch-openssl cd openssl && \ ./config --prefix=/Library/OpenSC shared -DDSO_DLFCN -DHAVE_DLFCN_H && \ make && \ make INSTALL_PREFIX=$(BUILDHOME)/compiled-openssl install rm -f $(BUILDHOME)/compiled-openssl/Library/OpenSC/bin/openssl_fips_fingerprint - -build-openssh: + touch build-openssl + +build-openssh: fetch-openssh cd openssh && \ DYLD_LIBRARY_PATH="$(BUILDHOME)/compiled-openssl/Library/OpenSC/lib" \ ./configure --prefix=/Library/OpenSC \ @@ -211,14 +236,16 @@ build-openssh: rm -f $(BUILDHOME)/compiled-openssh/Library/OpenSC/man/man1/slogin.1 cd $(BUILDHOME)/compiled-openssh/Library/OpenSC/man/man1/ && ln -s ./scssh.1 scslogin.1 mv $(BUILDHOME)/compiled-openssh/Library/OpenSC/man/man5/ssh_config.5 $(BUILDHOME)/compiled-openssh/Library/OpenSC/man/man5/scssh_config.5 - -build-libusb: + touch build-openssh + +build-libusb: fetch-libusb cd libusb && \ ./configure --prefix=/Library/OpenSC --disable-build-docs && \ make && \ make install prefix=$(BUILDHOME)/compiled-libusb/Library/OpenSC - -build-ifd-egate: + touch build-libusb + +build-ifd-egate: fetch-ifd-egate cd ifd-egate && \ USB_CFLAGS="-I$(BUILDHOME)/compiled-libusb/Library/OpenSC/include -I/System/Library/Frameworks/PCSC.framework/Headers" \ USB_LDFLAGS="-L$(BUILDHOME)/compiled-libusb/Library/OpenSC/lib -lusb -Wl,-framework -Wl,PCSC" \ @@ -226,8 +253,9 @@ build-ifd-egate: mkdir -p $(BUILDHOME)/compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/MacOS cp ifd-egate/Info.plist-OSX $(BUILDHOME)/compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/Info.plist cp ifd-egate/libifd_egate.dylib $(BUILDHOME)/compiled-ifd-egate/usr/libexec/SmartCardServices/drivers/ifd-egate.bundle/Contents/MacOS + touch build-ifd-egate -build-tokend: +build-tokend: fetch-tokend hdiutil attach $(TOKEND_IMAGE_LOCATION) rm -rf $(TOKEND_IMAGE_NAME)/$(TOKEND_BUILD_NAME)/Sources/Tokend-25868 ditto opensc.tokend $(TOKEND_IMAGE_NAME)/$(TOKEND_BUILD_NAME)/Sources/Tokend-25868 @@ -235,10 +263,12 @@ build-tokend: xcodebuild -configuration Deployment mkdir -p $(BUILDHOME)/compiled-opensc_tokend/System/Library/Security/tokend cp -r $(TOKEND_IMAGE_NAME)/$(TOKEND_BUILD_NAME)/Sources/Tokend-25868/build/Deployment/OpenSC.tokend $(BUILDHOME)/compiled-opensc_tokend/System/Library/Security/tokend/ - + touch build-tokend + build-tokend-end: hdiutil detach $(TOKEND_IMAGE_NAME) - + touch build-tokend-end + install: mkdir -p compiled-opensc/Library/OpenSC/etc/ cp opensc/etc/opensc.conf compiled-opensc/Library/OpenSC/etc/opensc.conf.orig @@ -264,42 +294,51 @@ install: chmod -R g+w $(BUILDHOME)/pcscd_autostart/files/* package: package-opensc package-libp11 package-engine package-openssl package-openssh package-libusb package-pcscd_autostart package-ifd-egate package-opensc_tokend sca-$(SCAVERSION).dmg - -package-opensc: + +package-opensc: build-opensc $(PACKAGEMAKER) -build -p OpenSC.pkg -f compiled-opensc -v -ds \ -i opensc-pack/Info.plist -r opensc-pack/resources -d opensc-pack/Description.plist - -package-libp11: + touch package-opensc + +package-libp11: build-libp11 $(PACKAGEMAKER) -build -p libp11.pkg -f compiled-libp11 -v -ds \ -i libp11-pack/Info.plist -d libp11-pack/Description.plist + touch package-libp11 -package-engine: +package-engine: build-engine $(PACKAGEMAKER) -build -p engine_pkcs11.pkg -f compiled-engine -v -ds \ -i engine-pack/Info.plist -d engine-pack/Description.plist + touch package-engine -package-openssl: +package-openssl: build-openssl $(PACKAGEMAKER) -build -p openssl.pkg -f compiled-openssl -v -ds \ -i openssl-pack/Info.plist -d openssl-pack/Description.plist + touch package-openssl -package-openssh: +package-openssh: build-openssh $(PACKAGEMAKER) -build -p openssh.pkg -f compiled-openssh -v -ds \ -i openssh-pack/Info.plist -d openssh-pack/Description.plist - -package-libusb: + touch package-openssh + +package-libusb: build-libusb $(PACKAGEMAKER) -build -p libusb.pkg -f compiled-libusb -v -ds \ -i libusb-pack/Info.plist -d libusb-pack/Description.plist - -package-ifd-egate: + touch package-libusb + +package-ifd-egate: build-ifd-egate $(PACKAGEMAKER) -build -p ifd-egate.pkg -f compiled-ifd-egate -v -ds \ -i ifd-egate-pack/Info.plist -d ifd-egate-pack/Description.plist + touch package-ifd-egate package-pcscd_autostart: $(PACKAGEMAKER) -build -p pcscd_autostart.pkg -f pcscd_autostart/files -v -ds \ -i pcscd_autostart/Info.plist -r pcscd_autostart/resources -d pcscd_autostart/Description.plist - -package-opensc_tokend: + touch package-pcscd_autostart + +package-opensc_tokend: build-tokend $(PACKAGEMAKER) -build -p opensc_tokend.pkg -f compiled-opensc_tokend -v -ds \ -i opensc_tokend-pack/Info.plist -d opensc_tokend-pack/Description.plist + touch package-opensc_tokend uninstall-all: uninstall-pcscd_autostart uninstall @@ -315,8 +354,8 @@ uninstall: rm -rf /Library/OpenSC rm -rf /System/Library/Security/tokend/OpenSC.tokend rm -rf /usr/libexec/SmartCardServices/drivers/ifd-egate.bundle - -uninstall-pcscd_autostart: + +uninstall-pcscd_autostart: rm -rf /Library/Receipts/pcscd_autostart.pkg launchctl unload -w /Library/LaunchDaemons/org.opensc.pcscd.autostart rm -f /Library/LaunchDaemons/org.opensc.pcscd.autostart
_______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel