home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / amigalib.mk next >
Makefile  |  1994-10-18  |  3KB  |  84 lines

  1. # Amiga Library Services - CD Administration Makefile
  2. #
  3. # This Makefile goes in the root directory of the CD-ROM master file
  4. # tree and is responsible for doing such things as:
  5. #
  6. # (1) "Cleaning up" the file tree.
  7. # (2) Building the automatically generated files for the release.
  8. # (3) Building the ISO image for the release.
  9.  
  10. CDNAME =    FreshFonts-Vol1
  11. PUBLISHER =    "Amiga Library Services - (602) 917-0917"
  12. PREPARER =    "Fred Fish"
  13. IMAGE =        ISO:$(CDNAME).iso
  14. TMPDIR =    /tmp
  15. TMPFILE =    $(TMPDIR)/$(CDNAME).tmp
  16.  
  17. all:
  18.     @echo "rerun make with one of:"
  19.     @echo "[clean, clobber, iso, rebuild, DirList FileList, CRCList]"
  20.  
  21. # This target will rebuild all the machine generated files, after you
  22. # have done a "make clobber".  Without doing a "make clobber", all it
  23. # will do is ensure that the files exist.
  24.  
  25. rebuild: DirList FileList CRCList
  26.  
  27. # Build an ISO image for the release.  Some important mkisofs flags
  28. # and their meanings are:
  29. #
  30. # -a    Include all files
  31. # -A    Map filenames to ISO compliant file names.
  32. # -c    Do not convert filenames
  33. # -e    Sort file extents by common extensions.
  34. # -o    Write ISO image to specified file.
  35. # -p    Specify the preparer field in the CD-ROM data structures.
  36. # -P    Specify the publisher field in the CD-ROM data structures.
  37. # -r    Inhibit relocation of directories.
  38. # -R    Enable RockRidge extensions.
  39. # -T    Generate a file TRANS.TBL to make ISO names to original names.
  40. # -V    The volume name.
  41.  
  42. iso:    CRCList
  43.     mkisofs -a -c -e -r -o $(IMAGE) -P $(PUBLISHER) -p $(PREPARER) \
  44.       -V $(CDNAME) $(CDNAME):
  45.  
  46. # Build the DirList, FileList and CRCList files.  Note that we ensure
  47. # that a FileList and CRCList file exist by touching them before building
  48. # the updated FileList, and then removing the CRCList file (even a
  49. # previously existing one) after building the new FileList, since the
  50. # CRCList needs to be rebuilt anyway if the FileList is touched.  However
  51. # since we can't compute a CRC for the CRC file itself without major
  52. # trickery, the CRCList is generated using a copy of FileList that has
  53. # had the CRCList line removed.  All these gyrations ensure that the
  54. # FileList file includes entries for both itself and the CRCList file,
  55. # while the CRCList file contains no entry for itself.
  56. #
  57. # Also note that the output is stored in a temporary file on a different
  58. # volume, so as to avoid problems on the Amiga with "find" trying to
  59. # lock it's output file while it is open for write.
  60.  
  61. DirList:
  62.     find . -type d -print | sort | sed -e "s:^./::" -e "/^\.$$/d" >$(TMPFILE)
  63.     cp $(TMPFILE) $@
  64.     rm -f $(TMPFILE)
  65.  
  66. FileList: DirList
  67.     touch $@ CRCList
  68.     find . -type f -print | sort | sed "s:^./::" >$(TMPFILE)
  69.     cp $(TMPFILE) $@
  70.     rm -f $(TMPFILE) CRCList
  71.  
  72. CRCList: FileList
  73.     sed "/^CRCList$$/d" <FileList >$(TMPFILE)
  74.     brik -Gvbf $(TMPFILE) >$@
  75.     rm -f $(TMPFILE)
  76.  
  77. # Clean out the machine generated files in preparation for rebuilding them.
  78.  
  79. clobber: clean
  80.     rm -f DirList FileList CRCList
  81.     
  82. clean:
  83.     rm -f *! *~ $(TMPFILE)
  84.