[go: up one dir, main page]

File: Makefile

package info (click to toggle)
dosfstools 2.11-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 396 kB
  • ctags: 455
  • sloc: ansic: 3,840; makefile: 175
file content (92 lines) | stat: -rw-r--r-- 2,565 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#
# Makefile for dosfstools (mkdosfs and dosfsck)
#

CC = gcc
CPP = $(CC) -E
OPTFLAGS = -O2 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64
WARNFLAGS = -Wall
DEBUGFLAGS = 
CFLAGS = $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS)
LDFLAGS =

PREFIX = 
SBINDIR = $(PREFIX)/sbin
MANDIR = $(PREFIX)/usr/man/man8

.PHONY: clean distclean install depend
.EXPORT_ALL_VARIABLES:

all dep clean install:
	$(MAKE) -C mkdosfs $@
	$(MAKE) -C dosfsck $@

distclean:
	$(MAKE) -C mkdosfs $@
	$(MAKE) -C dosfsck $@
	rm -f TAGS .#* .new* \#*# *~

TAGS:
	etags -d -T `find . -name '*.[ch]'`

dist: binary tar

tar: distclean
	cd ..; \
	name="$(notdir $(shell pwd))"; \
	namev="$$name-$(shell perl -ne 'print "$$1\n" if /VERSION.*"(\S+)"/;' version.h)"; \
	mv $$name $$namev; \
	tar cf $$namev.src.tar `find $$namev \( -name CVS -o -path $$namev/debian \) -prune -o ! -type d -print`; \
	gzip -9f $$namev.src.tar; \
	mv $$namev $$name

binary: all
	doit=""; [ root = "`whoami`" ] || doit=sudo; $$doit $(MAKE) binary-sub
	cd tmp; \
	name="$(notdir $(shell pwd))"; \
	namev="$$name-$(shell perl -ne 'print "$$1\n" if /VERSION.*"(\S+)"/;' version.h)"; \
	arch=`uname -m | sed 's/i.86/i386/'`; \
	nameva=$$namev.$$arch.tar; \
	tar cf ../../$$nameva * ; \
	gzip -9f ../../$$nameva
	doit=""; [ root = "`whoami`" ] || doit=sudo; $$doit rm -rf tmp

binary-sub:
	@[ root = "`whoami`" ] || (echo "Must be root for this!"; exit 1)
	mkdir -p tmp/$(SBINDIR) tmp/$(MANDIR)
	$(MAKE) install PREFIX=$(shell pwd)/tmp

# usage: make diff OLDVER=<last-release-number>
diff:
	@if [ "x$(OLDVER)" = "x" ]; then \
		echo "Usage: make diff OLDVER=<last-release-number>"; \
		exit 1; \
	fi; \
	name="$(notdir $(shell pwd))"; \
	namev="$$name-$(shell perl -ne 'print "$$1\n" if /VERSION.*"(\S+)"/;' version.h)"; \
	cvs diff -u -rRELEASE-$(OLDVER) >../$$namev.diff; \
	gzip -9f ../$$namev.diff


# usage: make release VER=<release-number>
release:
	@if [ "x$(VER)" = "x" ]; then \
		echo "Usage: make release VER=<release-number>"; \
		exit 1; \
	fi
	if [ -d CVS ]; then \
		modified=`cvs status 2>/dev/null | awk '/Status:/ { if ($$4 != "Up-to-date") print $$2 }'`; \
		if [ "x$$modified" != "x" ]; then \
			echo "There are modified files: $$modified"; \
			echo "Commit first"; \
			exit 1; \
		fi; \
	fi
	sed "/VERSION/s/\".*\"/\"$(VER)\"/" <version.h >version.h.tmp
	date="`date +'%d %b %Y'`"; sed "/VERSION_DATE/s/\".*\"/\"$$date\"/" <version.h.tmp >version.h
	rm version.h.tmp
	if [ -d CVS ]; then \
		cvs commit -m"Raised version to $(VER)" version.h; \
		cvs tag -c -F RELEASE-`echo $(VER) | sed 's/\./-/g'`; \
	fi