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
[email protected]
http://www.opensc-project.org/mailman/listinfo/opensc-devel