]> thyrsus.com Git - semex.git/commitdiff
Modern packaging.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 1 Aug 2002 09:40:30 +0000 (09:40 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 1 Aug 2002 09:40:30 +0000 (09:40 +0000)
Makefile

index af23e92b30d46920ed3002b5f1cf469ec2ee2b11..639cff055ba56a35960d4e77f148ae2b79c29435 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,41 @@
 # semex -- the semaphore exerciser
 
+# Note: When the version changes, you also have to change the RPM spec file.
+VERS=1.3
+
 semex: semex.c
 
+semex.1: semex.xml
+       xmlto man semex.xml
+
+install: semex.1 uninstall
+       cp semex /usr/bin
+       cp semex.1 /usr/share/man/man1/semex.1
+
+uninstall:
+       rm -f /usr/bin/semex /usr/share/man/man1/semex.1
+
 clean:
-       rm -f semex semex.shar semex.tar semex.tar.gz
+       rm -f lex.yy.c semex semex.c *~ semex.tar.gz
+       rm -f *.rpm semex-*.tar.gz semex.1 
+
+SOURCES = READ.ME semex.xml Makefile semex.c semex.spec
+
+semex-$(VERS).tar.gz: $(SOURCES) semex.1
+       @ls $(SOURCES) semex.1 | sed s:^:semex-$(VERS)/: >MANIFEST
+       @(cd ..; ln -s semex semex-$(VERS))
+       (cd ..; tar -czvf semex/semex-$(VERS).tar.gz `cat semex/MANIFEST`)
+       @(cd ..; rm semex-$(VERS))
+
+dist: semex-$(VERS).tar.gz
 
-semex.tar: semex.1 Makefile semex.c 
-       tar -cvf semex.tar semex.1 Makefile semex.c semex.lsm
-semex.tar.gz: semex.tar
-       gzip semex.tar
+RPMROOT=/usr/src/redhat
+RPM = rpm
+RPMFLAGS = -ba
+rpm: dist
+       cp semex-$(VERS).tar.gz $(RPMROOT)/SOURCES;
+       cp semex.spec $(RPMROOT)/SPECS
+       cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) semex.spec      
+       cp $(RPMROOT)/RPMS/`arch|sed 's/i[4-9]86/i386/'`/semex-$(VERS)*.rpm .
+       cp $(RPMROOT)/SRPMS/semex-$(VERS)*.src.rpm .
 
-semex.shar: semex.c
-       shar semex.1 Makefile semex.c semex.lsm >semex.shar