Optimize makefile and check in draft spec file improvements.
[shibboleth/cpp-xmltooling.git] / Makefile.am
index 39fa737..14c1a5c 100644 (file)
@@ -10,34 +10,35 @@ dist-hook:
        rm -rf `find $(distdir)/xmltoolingtest/data -name .svn`
        rm -rf `find $(distdir)/doc/api -name .svn`
 
+checksum: Portfile $(PACKAGE)-$(VERSION).tar.gz
+       rm -f Portfile.tmp
+       set HASH = `$(SHA1) $(PACKAGE)-$(VERSION).tar.gz`
+       sed < Portfile > Portfile.tmp \
+          -e 's:@CHECKSUM@:${HASH}:'
+       mv Portfile.tmp Portfile
+
 
 SUBDIRS = doc schemas xmltooling xmltoolingtest
 
+GENFILES = xmltooling.spec pkginfo Portfile
+
 if DX_COND_doc
-all-local: doxygen-doc xmltooling.spec pkginfo
-APIDOCS = doc/api
+all-local: doxygen-doc $(GENFILES)
 else
-all-local: xmltooling.spec pkginfo
+all-local: $(GENFILES)
 endif
 
 install-data-hook:
-       rm -rf $(DESTDIR)/$(datadir)/doc/@PACKAGE@/api
-       cp -r doc/api $(DESTDIR)/$(datadir)/doc/@PACKAGE@
-
-xmltooling.spec: xmltooling.spec.in Makefile
-       rm -f $@.tmp
-       sed < $< > $@.tmp \
-           -e 's:@-VERSION-@:${VERSION}:'
-       mv $@.tmp $@
+       rm -rf $(DESTDIR)$(datadir)/doc/@PACKAGE@/api
+       cp -r doc/api $(DESTDIR)$(datadir)/doc/@PACKAGE@
 
-pkginfo: pkginfo.in Makefile
+$(GENFILES): %: %.in Makefile
        rm -f $@.tmp
-       sed < $< > $@.tmp \
+       sed < $@.in > $@.tmp \
            -e 's:@-VERSION-@:${VERSION}:'
        mv $@.tmp $@
 
 EXTRA_DIST = $(DX_CONFIG) \
-        $(APIDOCS) \
         cpp-xmltooling.sln \
         acx_pthread.m4 \
         acinclude.m4 \
@@ -45,10 +46,9 @@ EXTRA_DIST = $(DX_CONFIG) \
         doxygen.m4 \
         depcomp \
         config_win32.h \
-        xmltooling.spec.in \
-        xmltooling.spec \
-        pkginfo.in \
-        pkginfo \
-        depend
+        $(GENFILES) \
+        $(GENFILES:%=%.in) \
+        depend \
+        postinstall
 
-DISTCLEANFILES = xmltooling.spec pkginfo
+DISTCLEANFILES = $(GENFILES)