home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / amigalib.mk next >
Makefile  |  1994-09-11  |  2KB  |  72 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) Building the automatically generated files for the release.
  7. # (2) "Cleaning up" the file tree.
  8.  
  9. CDNAME =    FreshFish-Sep94
  10. PUBLISHER =    "Amiga Library Services - (602) 917-0917"
  11. PREPARER =    "Fred Fish"
  12. IMAGE =        ISO:$(CDNAME).iso
  13.  
  14. all:
  15.     @echo "rerun make with one of:"
  16.     @echo "  [iso, rebuild, FileList, CRCList]"
  17.  
  18. # This target will rebuild all the machine generated files, after doing
  19. # a "make clobber".
  20.  
  21. rebuild: DirList FileList CRCList
  22.  
  23. # -a    Include all files
  24. # -A    Map filenames to ISO compliant file names.
  25. # -c    Do not convert filenames
  26. # -e    Sort file extents by common extensions.
  27. # -r    Inhibit relocation of directories.
  28. # -R    Enable RockRidge extensions.
  29. # -T    Generate a file TRANS.TBL to make ISO names to original names.
  30.  
  31. iso:    CRCList
  32.     mkisofs -a -c -e -r -o $(IMAGE) -P $(PUBLISHER) -p $(PREPARER) \
  33.       -V $(CDNAME) $(CDNAME):
  34.  
  35. # Build the DirList, FileList and CRCList files.  Note that we ensure
  36. # that a FileList and CRCList file exist by touching them before building
  37. # the updated FileList, and then removing the CRCList file (even a
  38. # previously existing one) after building the new FileList, since the
  39. # CRCList needs to be rebuilt anyway if the FileList is touched.  However
  40. # since we can't compute a CRC for the CRC file itself without major
  41. # trickery, the CRCList is generated using a copy of FileList that has
  42. # had the CRCList line removed.  All these gyrations ensure that the
  43. # FileList file includes entries for both itself and the CRCList file,
  44. # while the CRCList file contains no entry for itself.
  45. #
  46. # Also note that the output is stored in a temporary file on a different
  47. # volume, so as to avoid problems on the Amiga with "find" trying to
  48. # lock CRCList while it is open for write.
  49.  
  50. DirList:
  51.     find . -type d -print | sort | sed -e "s:^./::" -e "/^\.$$/d" >/tmp/DirList
  52.     cp /tmp/DirList $@
  53.     rm -f /tmp/DirList
  54.  
  55. FileList: DirList
  56.     touch $@ CRCList
  57.     find . -type f -print | sort | sed "s:^./::" >/tmp/FileList
  58.     cp /tmp/FileList $@
  59.     rm -f /tmp/FileList CRCList
  60.  
  61. CRCList: FileList
  62.     sed "/^CRCList$$/d" <FileList >/tmp/FileList
  63.     brik -Gvbf /tmp/FileList >$@
  64.  
  65. # Clean out the machine generated files in preparation for rebuilding them.
  66.  
  67. clobber: clean
  68.     rm -f DirList FileList CRCList
  69.     
  70. clean:
  71.     rm -f *! *~
  72.