diff --git a/Makefile b/Makefile index a8840c02..918ada90 100644 --- a/Makefile +++ b/Makefile @@ -15,12 +15,13 @@ sinclude Local.mak SUBDIRS=lib widgets img OBJECTS=$(patsubst %, $(BUILD)/%/.build-stamp, $(SUBDIRS)) INSTDIR=misc lang doc img -CLEANDIRS=lang doc ui img macdeployqt -HDRDIRS=lib widgets ui +INSTTARGET=$(patsubst %, install.%, $(INSTDIR)) +APPTARGET=$(patsubst %, app.%, $(INSTDIR)) bindir=bin DMGSTAGE=$(BUILD)/xca-$(VERSION) MACTARGET=$(DMGSTAGE)-$(DARWIN) +APPDIR=$(DMGSTAGE)/xca.app/Contents ifeq ($(SUFFIX), .exe) all: setup$(SUFFIX) @@ -51,6 +52,16 @@ $(BUILD)/%/.build-stamp: headers $(MAKE) DEP=yes -C $(BUILD)/$* -f $(TOPDIR)/$*/Makefile \ VPATH=$(TOPDIR)/$* +$(INSTTARGET): install.%: $(BUILD)/%/.build-stamp + mkdir -p $(BUILD)/$* + $(MAKE) -C $(BUILD)/$* -f $(TOPDIR)/$*/Makefile \ + VPATH=$(TOPDIR)/$* install + +$(APPTARGET): app.%: $(BUILD)/%/.build-stamp + mkdir -p $(BUILD)/$* + $(MAKE) -C $(BUILD)/$* -f $(TOPDIR)/$*/Makefile \ + VPATH=$(TOPDIR)/$* APPDIR=$(APPDIR) app + clean: rm -rf $(BUILD) rm -f *~ xca$(SUFFIX) setup_xca*.exe $(MACTARGET).dmg $(MACTARGET).tar.gz @@ -69,13 +80,10 @@ snapshot: git archive --format=tar --prefix=xca-$${HASH}/ HEAD | \ gzip -9 > xca-$${HASH}.tar.gz -install: xca$(SUFFIX) +install: xca$(SUFFIX) $(INSTTARGET) install -m 755 -d $(destdir)$(prefix)/$(bindir) install -m 755 xca $(destdir)$(prefix)/$(bindir) $(STRIP) $(destdir)$(prefix)/$(bindir)/xca - for d in $(INSTDIR); do \ - $(MAKE) -C $$d install; \ - done $(MACDEPLOYQT): @@ -88,9 +96,7 @@ setup.exe: xca$(SUFFIX) misc/xca.nsi do.doc do.lang -DVERSION=$(VERSION) -DBDIR=$(BDIR) -DBUILD=$(BUILD) \ -NOCD -V2 misc/xca.nsi -xca.app: $(DMGSTAGE) - -$(DMGSTAGE): xca$(SUFFIX) $(MACDEPLOYQT) do.doc do.lang +$(DMGSTAGE): xca$(SUFFIX) $(MACDEPLOYQT) rm -rf $(DMGSTAGE) mkdir -p $(DMGSTAGE)/xca.app/Contents/MacOS mkdir -p $(DMGSTAGE)/xca.app/Contents/Resources @@ -99,9 +105,7 @@ $(DMGSTAGE): xca$(SUFFIX) $(MACDEPLOYQT) do.doc do.lang install -m 644 COPYRIGHT $(DMGSTAGE)/COPYRIGHT.txt install -m 755 xca $(DMGSTAGE)/xca.app/Contents/MacOS $(STRIP) $(DMGSTAGE)/xca.app/Contents/MacOS/xca - for d in $(INSTDIR); do \ - $(MAKE) -C $$d APPDIR=$(TOPDIR)/$(DMGSTAGE)/xca.app/Contents app; \ - done + $(MAKE) $(APPTARGET) cp -r $(DMGSTAGE)/xca.app/Contents/Resources/*.html $(DMGSTAGE)/manual ln -s xca.html $(DMGSTAGE)/manual/index.html $(MACDEPLOYQT) $(DMGSTAGE)/xca.app @@ -109,6 +113,8 @@ $(DMGSTAGE): xca$(SUFFIX) $(MACDEPLOYQT) do.doc do.lang xca.dmg: $(MACTARGET).dmg +xca.app: $(DMGSTAGE) + $(MACTARGET).dmg: $(DMGSTAGE) hdiutil create -ov -srcfolder $< $@ @@ -117,7 +123,7 @@ trans: lupdate-qt4 $(TOPDIR)/xca.pro $(MAKE) -C lang xca.pot -.PHONY: $(SUBDIRS) $(INSTDIR) xca.app setup.exe doc lang macdeployqt/macdeployqt +.PHONY: $(SUBDIRS) $(INSTDIR) xca.app setup.exe doc lang macdeployqt/macdeployqt $(DMGSTAGE) doc lang headers: local.h diff --git a/img/Makefile b/img/Makefile index e819ee95..1ecc47b4 100644 --- a/img/Makefile +++ b/img/Makefile @@ -21,10 +21,11 @@ imgres.cpp: imgres.rcc $(RCC) -o $@ $< imgres.rcc: bigcert.png bigcrl.png bigcsr.png bigkey.png bigtemp.png crl.png halfkey.png invalidcertkey.png invalidcert.png key.png netscape.png reqkey.png req.png revoked.png spki.png template.png validcertkey.png validcert.png scard.png + w32res.o: w32res.rc key.ico xca.ico xdb.ico $(WINDRES) $< $@ -app: +app: xca-mac-icon.icns mkdir -p $(APPDIR)/Resources - install -m 644 xca-mac-icon.icns $(APPDIR)/Resources + install -m 644 $^ $(APPDIR)/Resources diff --git a/lang/Makefile b/lang/Makefile index a7d17419..3c4d2909 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -28,8 +28,6 @@ app: po2ts: $(TS_XCA) xca_%.ts: %.po po2ts -i $< > $(@) # | \ - # sed 's,^\( *$$,\1/>,' |\ - # grep -v '^ *$$' > $(@).NEW && mv $(@).NEW $(@) || : #lconvert -i $< -of ts -o $@ xca.pot: xca.ts diff --git a/misc/Makefile b/misc/Makefile index a3ee5373..8adddd43 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -1,13 +1,16 @@ +SRCPATH=$(VPATH)/ + all: install: install -m 755 -d $(destdir)$(prefix)/share/xca/ \ $(destdir)$(prefix)/share/applications \ $(destdir)$(prefix)/share/mime/packages - install -m 644 *.txt *.xca $(destdir)$(prefix)/share/xca - install -m 644 xca.desktop $(destdir)$(prefix)/share/applications - install -m 644 xca.xml $(destdir)$(prefix)/share/mime/packages + install -m 644 $(SRCPATH)*.txt $(SRCPATH)*.xca \ + $(destdir)$(prefix)/share/xca + install -m 644 $(SRCPATH)xca.desktop $(destdir)$(prefix)/share/applications + install -m 644 $(SRCPATH)xca.xml $(destdir)$(prefix)/share/mime/packages if test -z "$(destdir)"; then \ update-mime-database $(prefix)/share/mime || :; \ update-desktop-database || :; \ @@ -15,7 +18,7 @@ install: app: mkdir -p $(APPDIR)/Resources - install -m 644 Info.plist PkgInfo $(APPDIR) - install -m 644 *.txt *.xca $(APPDIR)/Resources + install -m 644 $(SRCPATH)Info.plist $(SRCPATH)PkgInfo $(APPDIR) + install -m 644 $(SRCPATH)*.txt $(SRCPATH)*.xca $(APPDIR)/Resources include $(TOPDIR)/Local.mak