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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
# Makefile
#
# Copyright (C) 2008 Daniel Baumann <daniel@debian.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# On Debian systems, the complete text of the GNU General Public License
# can be found in /usr/share/common-licenses/GPL-3 file.
DESTDIR =
PREFIX = /usr/local
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
DEBUGFLAGS = -g
CFLAGS += $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS)
VPATH = src
all: build
build: dosfsck dosfslabel mkdosfs
dosfsck: boot.o check.o common.o fat.o file.o io.o lfn.o dosfsck.o
dosfslabel: boot.o check.o common.o fat.o file.o io.o lfn.o dosfslabel.o
mkdosfs: mkdosfs.o
rebuild: distclean build
install: install-bin install-doc install-man
install-bin: build
install -d -m 0755 $(DESTDIR)/$(SBINDIR)
install -m 0755 dosfsck dosfslabel mkdosfs $(DESTDIR)/$(SBINDIR)
ln -sf dosfsck $(DESTDIR)/$(SBINDIR)/fsck.msdos
ln -sf dosfsck $(DESTDIR)/$(SBINDIR)/fsck.vfat
ln -sf mkdosfs $(DESTDIR)/$(SBINDIR)/mkfs.msdos
ln -sf mkdosfs $(DESTDIR)/$(SBINDIR)/mkfs.vfat
install-doc:
install -d -m 0755 $(DESTDIR)/$(DOCDIR)/dosfstools
install -m 0644 doc/* $(DESTDIR)/$(DOCDIR)/dosfstools
install-man:
install -d -m 0755 $(DESTDIR)/$(MANDIR)/man8
install -m 0644 man/*.8 $(DESTDIR)/$(MANDIR)/man8
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
|