1# 2# Makefile for dosfstools (mkdosfs and dosfsck) 3# 4 5CPP = $(CC) -E 6OPTFLAGS = -O2 -fomit-frame-pointer 7WARNFLAGS = -Wall 8DEBUGFLAGS = 9CFLAGS = $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS) 10LDFLAGS = 11 12PREFIX = $(INSTALLDIR) 13SBINDIR = $(PREFIX)/sbin 14MANDIR = $(PREFIX)/usr/man/man8 15 16.PHONY: clean distclean install depend 17.EXPORT_ALL_VARIABLES: 18 19all dep clean install: 20# $(MAKE) -C mkdosfs $@ 21 $(MAKE) -C dosfsck $@ 22 23distclean: 24# $(MAKE) -C mkdosfs $@ 25 $(MAKE) -C dosfsck $@ 26 rm -f TAGS .#* .new* \#*# *~ 27 28TAGS: 29 etags -d -T `find . -name '*.[ch]'` 30 31dist: binary tar 32 33tar: distclean 34 cd ..; \ 35 name="$(notdir $(shell pwd))"; \ 36 namev="$$name-$(shell perl -ne 'print "$$1\n" if /VERSION.*"(\S+)"/;' version.h)"; \ 37 mv $$name $$namev; \ 38 tar cf $$namev.src.tar `find $$namev \( -name CVS -o -path $$namev/debian \) -prune -o ! -type d -print`; \ 39 gzip -9f $$namev.src.tar; \ 40 mv $$namev $$name 41 42binary: all 43 doit=""; [ root = "`whoami`" ] || doit=sudo; $$doit $(MAKE) binary-sub 44 cd tmp; \ 45 name="$(notdir $(shell pwd))"; \ 46 namev="$$name-$(shell perl -ne 'print "$$1\n" if /VERSION.*"(\S+)"/;' version.h)"; \ 47 arch=`uname -m | sed 's/i.86/i386/'`; \ 48 nameva=$$namev.$$arch.tar; \ 49 tar cf ../../$$nameva * ; \ 50 gzip -9f ../../$$nameva 51 doit=""; [ root = "`whoami`" ] || doit=sudo; $$doit rm -rf tmp 52 53binary-sub: 54 @[ root = "`whoami`" ] || (echo "Must be root for this!"; exit 1) 55 mkdir -p tmp/$(SBINDIR) tmp/$(MANDIR) 56 $(MAKE) install PREFIX=$(shell pwd)/tmp 57 58# usage: make diff OLDVER=<last-release-number> 59diff: 60 @if [ "x$(OLDVER)" = "x" ]; then \ 61 echo "Usage: make diff OLDVER=<last-release-number>"; \ 62 exit 1; \ 63 fi; \ 64 name="$(notdir $(shell pwd))"; \ 65 namev="$$name-$(shell perl -ne 'print "$$1\n" if /VERSION.*"(\S+)"/;' version.h)"; \ 66 cvs diff -u -rRELEASE-$(OLDVER) >../$$namev.diff; \ 67 gzip -9f ../$$namev.diff 68 69 70# usage: make release VER=<release-number> 71release: 72 @if [ "x$(VER)" = "x" ]; then \ 73 echo "Usage: make release VER=<release-number>"; \ 74 exit 1; \ 75 fi 76 if [ -d CVS ]; then \ 77 modified=`cvs status 2>/dev/null | awk '/Status:/ { if ($$4 != "Up-to-date") print $$2 }'`; \ 78 if [ "x$$modified" != "x" ]; then \ 79 echo "There are modified files: $$modified"; \ 80 echo "Commit first"; \ 81 exit 1; \ 82 fi; \ 83 fi 84 sed "/VERSION/s/\".*\"/\"$(VER)\"/" <version.h >version.h.tmp 85 date="`date +'%d %b %Y'`"; sed "/VERSION_DATE/s/\".*\"/\"$$date\"/" <version.h.tmp >version.h 86 rm version.h.tmp 87 if [ -d CVS ]; then \ 88 cvs commit -m"Raised version to $(VER)" version.h; \ 89 cvs tag RELEASE-`echo $(VER) | sed 's/\./-/g'`; \ 90 fi 91 92