Redoing Makefile from scratch.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
This commit is contained in:
parent
b4feb7319f
commit
f8d6127d8b
153
Makefile
153
Makefile
@ -1,91 +1,94 @@
|
|||||||
#
|
# Makefile
|
||||||
# Makefile for dosfstools (mkdosfs and dosfsck)
|
|
||||||
#
|
|
||||||
|
|
||||||
CC ?= gcc
|
DESTDIR =
|
||||||
CPP = $(CC) -E
|
PREFIX = /usr/local
|
||||||
OPTFLAGS = -D_FILE_OFFSET_BITS=64
|
SBINDIR = $(PREFIX)/sbin
|
||||||
|
DOCDIR = $(PREFIX)/share/doc
|
||||||
|
MANDIR = $(PREFIX)/share/man
|
||||||
|
|
||||||
|
#OPTFLAGS = -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||||
|
OPTFLAGS = -O2 -fomit-frame-pointer $(shell getconf LFS_CFLAGS)
|
||||||
|
#WARNFLAGS = -Wall -pedantic -std=c99
|
||||||
WARNFLAGS = -Wall
|
WARNFLAGS = -Wall
|
||||||
DEBUGFLAGS =
|
DEBUGFLAGS = -g
|
||||||
CFLAGS += $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS)
|
CFLAGS += $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS)
|
||||||
|
|
||||||
PREFIX =
|
VPATH = src
|
||||||
SBINDIR = $(PREFIX)/sbin
|
|
||||||
MANDIR = $(PREFIX)/usr/man/man8
|
|
||||||
|
|
||||||
.PHONY: clean distclean install depend
|
all: build
|
||||||
.EXPORT_ALL_VARIABLES:
|
|
||||||
|
|
||||||
all dep clean install:
|
build: dosfsck dosfslabel mkdosfs
|
||||||
$(MAKE) -C mkdosfs $@
|
|
||||||
$(MAKE) -C dosfsck $@
|
|
||||||
|
|
||||||
distclean:
|
dosfsck: boot.o check.o common.o fat.o file.o io.o lfn.o dosfsck.o
|
||||||
$(MAKE) -C mkdosfs $@
|
|
||||||
$(MAKE) -C dosfsck $@
|
|
||||||
rm -f TAGS .#* .new* \#*# *~
|
|
||||||
|
|
||||||
TAGS:
|
dosfslabel: boot.o check.o common.o fat.o file.o io.o lfn.o dosfslabel.o
|
||||||
etags -d -T `find . -name '*.[ch]'`
|
|
||||||
|
|
||||||
dist: binary tar
|
mkdosfs: mkdosfs.o
|
||||||
|
|
||||||
tar: distclean
|
rebuild: distclean build
|
||||||
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
|
install: install-bin install-doc install-man
|
||||||
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:
|
install-bin: build
|
||||||
@[ root = "`whoami`" ] || (echo "Must be root for this!"; exit 1)
|
install -d -m 0755 $(DESTDIR)/$(SBINDIR)
|
||||||
mkdir -p tmp/$(SBINDIR) tmp/$(MANDIR)
|
install -m 0755 dosfsck dosfslabel mkdosfs $(DESTDIR)/$(SBINDIR)
|
||||||
$(MAKE) install PREFIX=$(shell pwd)/tmp
|
|
||||||
|
|
||||||
# usage: make diff OLDVER=<last-release-number>
|
ln -sf dosfsck $(DESTDIR)/$(SBINDIR)/fsck.msdos
|
||||||
diff:
|
ln -sf dosfsck $(DESTDIR)/$(SBINDIR)/fsck.vfat
|
||||||
@if [ "x$(OLDVER)" = "x" ]; then \
|
ln -sf mkdosfs $(DESTDIR)/$(SBINDIR)/mkfs.msdos
|
||||||
echo "Usage: make diff OLDVER=<last-release-number>"; \
|
ln -sf mkdosfs $(DESTDIR)/$(SBINDIR)/mkfs.vfat
|
||||||
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
|
|
||||||
|
|
||||||
|
install-doc:
|
||||||
|
install -d -m 0755 $(DESTDIR)/$(DOCDIR)/dosfstools
|
||||||
|
install -m 0644 doc/* $(DESTDIR)/$(DOCDIR)/dosfstools
|
||||||
|
|
||||||
# usage: make release VER=<release-number>
|
install-man:
|
||||||
release:
|
install -d -m 0755 $(DESTDIR)/$(MANDIR)/man8
|
||||||
@if [ "x$(VER)" = "x" ]; then \
|
install -m 0644 man/*.8 $(DESTDIR)/$(MANDIR)/man8
|
||||||
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
|
|
||||||
|
|
||||||
|
ln -sf dosfsck.8 $(DESTDIR)/$(MANDIR)/man8/fsck.msdos.8
|
||||||
|
ln -sf dosfsck.8 $(DESTDIR)/$(MANDIR)/man8/fsck.vfat.8
|
||||||
|
ln -sf mkdosfs.8 $(DESTDIR)/$(MANDIR)/man8/mkfs.msdos.8
|
||||||
|
ln -sf mkdosfs.8 $(DESTDIR)/$(MANDIR)/man8/mkfs.vfat.8
|
||||||
|
|
||||||
|
uninstall: uninstall-bin uninstall-doc uninstall-man
|
||||||
|
|
||||||
|
uninstall-bin:
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/dosfsck
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/dosfslabel
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/mkdosfs
|
||||||
|
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/fsck.msdos
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/fsck.vfat
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/mkfs.msdos
|
||||||
|
rm -f $(DESTDIR)/$(SBINDIR)/mkfs.vfat
|
||||||
|
|
||||||
|
rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(SBINDIR)
|
||||||
|
|
||||||
|
uninstall-doc:
|
||||||
|
rm -rf $(DESTDIR)/$(DOCDIR)/dosfstools
|
||||||
|
|
||||||
|
rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(DOCDIR)
|
||||||
|
|
||||||
|
uninstall-man:
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/dosfsck.8
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/dosfslabel.8
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/mkdosfs.8
|
||||||
|
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/fsck.msdos.8
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/fsck.vfat.8
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/mkfs.msdos.8
|
||||||
|
rm -f $(DESTDIR)/$(MANDIR)/man8/mkfs.vfat.8
|
||||||
|
|
||||||
|
rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(MANDIR)/man8
|
||||||
|
rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(MANDIR)
|
||||||
|
|
||||||
|
reinstall: distclean install
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f dosfsck dosfslabel mkdosfs
|
||||||
|
|
||||||
|
.PHONY: build rebuild install install-bin install-doc install-man uninstall uninstall-bin uninstall-doc uninstall-man reinstall clean distclean
|
||||||
|
|||||||
63
src/Makefile
63
src/Makefile
@ -1,63 +0,0 @@
|
|||||||
|
|
||||||
all: dosfsck dosfslabel mkdosfs
|
|
||||||
|
|
||||||
dosfsck: boot.o check.o common.o fat.o file.o io.o lfn.o dosfsck.o
|
|
||||||
$(CC) -o $@ $(LDFLAGS) $^
|
|
||||||
|
|
||||||
dosfslabel : boot.o check.o common.o fat.o file.o io.o lfn.o dosfslabel.o
|
|
||||||
$(CC) -o $@ $(LDFLAGS) $^
|
|
||||||
|
|
||||||
mkdosfs: mkdosfs.o
|
|
||||||
$(CC) -o $@ $(LDFLAGS) $^
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) -c $(CFLAGS) $*.c
|
|
||||||
|
|
||||||
install: dosfsck
|
|
||||||
mkdir -p $(SBINDIR) $(MANDIR)
|
|
||||||
install -m 755 dosfsck $(SBINDIR)
|
|
||||||
install -m 644 dosfsck.8 $(MANDIR)
|
|
||||||
install -m 755 dosfslabel $(SBINDIR)
|
|
||||||
rm -f $(SBINDIR)/fsck.msdos
|
|
||||||
rm -f $(SBINDIR)/fsck.vfat
|
|
||||||
ln -s dosfsck $(SBINDIR)/fsck.msdos
|
|
||||||
ln -s dosfsck $(SBINDIR)/fsck.vfat
|
|
||||||
rm -f $(MANDIR)/fsck.msdos.8
|
|
||||||
ln -s dosfsck.8 $(MANDIR)/fsck.msdos.8
|
|
||||||
ln -s dosfsck.8 $(MANDIR)/fsck.vfat.8
|
|
||||||
|
|
||||||
mkdir -p $(SBINDIR) $(MANDIR)
|
|
||||||
install -m 755 mkdosfs $(SBINDIR)
|
|
||||||
install -m 644 mkdosfs.8 $(MANDIR)
|
|
||||||
rm -f $(SBINDIR)/mkfs.msdos
|
|
||||||
rm -f $(SBINDIR)/mkfs.vfat
|
|
||||||
ln -s mkdosfs $(SBINDIR)/mkfs.msdos
|
|
||||||
ln -s mkdosfs $(SBINDIR)/mkfs.vfat
|
|
||||||
rm -f $(MANDIR)/mkfs.msdos.8
|
|
||||||
ln -s mkdosfs.8 $(MANDIR)/mkfs.msdos.8
|
|
||||||
ln -s mkdosfs.8 $(MANDIR)/mkfs.vfat.8
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.s *.i *~ \#*# tmp_make .#* .new*
|
|
||||||
|
|
||||||
distclean: clean
|
|
||||||
rm -f *.a dosfsck dosfslabel mkdosfs
|
|
||||||
|
|
||||||
dep:
|
|
||||||
sed '/\#\#\# Dependencies/q' <Makefile >tmp_make
|
|
||||||
$(CPP) $(CFLAGS) -MM *.c >>tmp_make
|
|
||||||
mv tmp_make Makefile
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
boot.o: boot.c common.h dosfsck.h io.h boot.h
|
|
||||||
check.o: check.c common.h dosfsck.h io.h fat.h file.h lfn.h check.h
|
|
||||||
common.o: common.c common.h
|
|
||||||
dosfsck.o: dosfsck.c version.h common.h dosfsck.h io.h boot.h fat.h \
|
|
||||||
file.h check.h
|
|
||||||
dosfslabel.o: dosfslabel.c version.h common.h dosfsck.h io.h boot.h fat.h \
|
|
||||||
file.h check.h
|
|
||||||
fat.o: fat.c common.h dosfsck.h io.h check.h fat.h
|
|
||||||
file.o: file.c common.h file.h
|
|
||||||
io.o: io.c dosfsck.h common.h io.h
|
|
||||||
lfn.o: lfn.c common.h io.h dosfsck.h lfn.h file.h
|
|
||||||
mkdosfs.o: mkdosfs.c version.h
|
|
||||||
Loading…
x
Reference in New Issue
Block a user