Makefile 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # Makefile
  2. DESTDIR =
  3. PREFIX = /usr/local
  4. SBINDIR = $(PREFIX)/sbin
  5. DOCDIR = $(PREFIX)/share/doc
  6. MANDIR = $(PREFIX)/share/man
  7. #OPTFLAGS = -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
  8. OPTFLAGS = -O2 -fomit-frame-pointer $(shell getconf LFS_CFLAGS)
  9. #WARNFLAGS = -Wall -pedantic -std=c99
  10. WARNFLAGS = -Wall
  11. DEBUGFLAGS = -g
  12. CFLAGS += $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS)
  13. VPATH = src
  14. all: build
  15. build: dosfsck dosfslabel mkdosfs
  16. dosfsck: boot.o check.o common.o fat.o file.o io.o lfn.o dosfsck.o
  17. dosfslabel: boot.o check.o common.o fat.o file.o io.o lfn.o dosfslabel.o
  18. mkdosfs: mkdosfs.o
  19. rebuild: distclean build
  20. install: install-bin install-doc install-man
  21. install-bin: build
  22. install -d -m 0755 $(DESTDIR)/$(SBINDIR)
  23. install -m 0755 dosfsck dosfslabel mkdosfs $(DESTDIR)/$(SBINDIR)
  24. ln -sf dosfsck $(DESTDIR)/$(SBINDIR)/fsck.msdos
  25. ln -sf dosfsck $(DESTDIR)/$(SBINDIR)/fsck.vfat
  26. ln -sf mkdosfs $(DESTDIR)/$(SBINDIR)/mkfs.msdos
  27. ln -sf mkdosfs $(DESTDIR)/$(SBINDIR)/mkfs.vfat
  28. install-doc:
  29. install -d -m 0755 $(DESTDIR)/$(DOCDIR)/dosfstools
  30. install -m 0644 doc/* $(DESTDIR)/$(DOCDIR)/dosfstools
  31. install-man:
  32. install -d -m 0755 $(DESTDIR)/$(MANDIR)/man8
  33. install -m 0644 man/*.8 $(DESTDIR)/$(MANDIR)/man8
  34. ln -sf dosfsck.8 $(DESTDIR)/$(MANDIR)/man8/fsck.msdos.8
  35. ln -sf dosfsck.8 $(DESTDIR)/$(MANDIR)/man8/fsck.vfat.8
  36. ln -sf mkdosfs.8 $(DESTDIR)/$(MANDIR)/man8/mkfs.msdos.8
  37. ln -sf mkdosfs.8 $(DESTDIR)/$(MANDIR)/man8/mkfs.vfat.8
  38. uninstall: uninstall-bin uninstall-doc uninstall-man
  39. uninstall-bin:
  40. rm -f $(DESTDIR)/$(SBINDIR)/dosfsck
  41. rm -f $(DESTDIR)/$(SBINDIR)/dosfslabel
  42. rm -f $(DESTDIR)/$(SBINDIR)/mkdosfs
  43. rm -f $(DESTDIR)/$(SBINDIR)/fsck.msdos
  44. rm -f $(DESTDIR)/$(SBINDIR)/fsck.vfat
  45. rm -f $(DESTDIR)/$(SBINDIR)/mkfs.msdos
  46. rm -f $(DESTDIR)/$(SBINDIR)/mkfs.vfat
  47. rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(SBINDIR)
  48. uninstall-doc:
  49. rm -rf $(DESTDIR)/$(DOCDIR)/dosfstools
  50. rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(DOCDIR)
  51. uninstall-man:
  52. rm -f $(DESTDIR)/$(MANDIR)/man8/dosfsck.8
  53. rm -f $(DESTDIR)/$(MANDIR)/man8/dosfslabel.8
  54. rm -f $(DESTDIR)/$(MANDIR)/man8/mkdosfs.8
  55. rm -f $(DESTDIR)/$(MANDIR)/man8/fsck.msdos.8
  56. rm -f $(DESTDIR)/$(MANDIR)/man8/fsck.vfat.8
  57. rm -f $(DESTDIR)/$(MANDIR)/man8/mkfs.msdos.8
  58. rm -f $(DESTDIR)/$(MANDIR)/man8/mkfs.vfat.8
  59. rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(MANDIR)/man8
  60. rmdir --ignore-fail-on-non-empty $(DESTDIR)/$(MANDIR)
  61. reinstall: distclean install
  62. clean:
  63. rm -f *.o
  64. distclean: clean
  65. rm -f dosfsck dosfslabel mkdosfs
  66. .PHONY: build rebuild install install-bin install-doc install-man uninstall uninstall-bin uninstall-doc uninstall-man reinstall clean distclean