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

Reply via email to