home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gnu / gnu-misc-src.lha / GNU / AmigaLib.mk next >
Makefile  |  1995-01-29  |  4KB  |  101 lines

  1. # Amiga Library Services - CD Administration Makefile
  2. #
  3. # This Makefile goes in the root directory of the GNU tree.
  4.  
  5. CONTENTS_FORMAT = "==========\n\n%N    %V    %S\n\n%d\n\nAuthor: %a\nPath: %P\n\n"
  6. INDEX_FORMAT =    "%-16.16N  %8.8V   %-S\n"
  7. LOCATE_FORMAT =    "%-16.16N  %8.8V   %P\n"
  8.  
  9. SHELL =        /bin/sh
  10. MAKE =        make
  11. MAKEFILE =    AmigaLib.mk
  12.  
  13. # The "base name" of this CD set.  Supply a default value here that is
  14. # typically overridden by an upper level make, or else passed as a command
  15. # line arg.
  16.  
  17. CDNAME =    FreshFish-Vol8
  18.  
  19. # This is the root directory for the BBS tree.  Typically it is assigned
  20. # a value like "FreshFish-Vol8-2:BBS" via a command line arg to Make, or
  21. # else is passed in by an upper level make.
  22.  
  23. BBSROOT =    $(CDNAME)-2:BBS
  24.  
  25. SCRATCHDIR =    /tmp
  26.  
  27. FLAGS_TO_PASS = \
  28.         "MAKE=$(MAKE)" \
  29.         "MAKEFILE=$(MAKEFILE)" \
  30.         "CDNAME=$(CDNAME)" \
  31.         "BBSROOT=$(BBSROOT)" \
  32.         "SCRATCHDIR=$(SCRATCHDIR)"
  33.  
  34. all:    CONTENTS INDEX LOCATE AllList
  35.  
  36. release:
  37.  
  38. # Generate a summary file called "CONTENTS".  Note that the entries in the
  39. # contents are generated in pathname sorted, case independent, order.
  40.  
  41. CONTENTS: AllList
  42.     @echo >$@ "This file is generated automatically from the product info files"
  43.     @echo >>$@ "included in this tree."
  44.     @echo >>$@ ""
  45.     egrep "/Product-Info$$|\.pi$$" <AllList | \
  46.         pitool -f - -b -F $(CONTENTS_FORMAT) - >>$@
  47.     @if test  -f $@.info; then true; else echo "WARNING - missing $@.info"; fi
  48.  
  49.  
  50. # Generate a quick reference file, which contains the name of the product,
  51. # the version number, and the short description; one product per line.
  52.  
  53. INDEX: AllList
  54.     @echo >$@ "This file is generated automatically from the product info files"
  55.     @echo >>$@ "included in this tree.  See the 'CONTENTS' file for additional"
  56.     @echo >>$@ "information about each item."
  57.     @echo >>$@ ""
  58.     egrep "/Product-Info$$|\.pi$$" <AllList | \
  59.         pitool -b -F $(INDEX_FORMAT) -f - - | sort -f | uniq >>$@
  60.     @if test -f $@.info; then true; else echo "WARNING - missing $@.info"; fi
  61.  
  62. # Generate a quick reference file, which contains the name of the product,
  63. # the version number, and the short description; one product per line.
  64.  
  65. LOCATE:    AllList
  66. #    @echo >$@ "This file is generated automatically from the product info files"
  67. #    @echo >>$@ "included in this tree.  See the 'CONTENTS' file for additional"
  68. #    @echo >>$@ "information about each item."
  69. #    @echo >>$@ ""
  70. #    egrep "/Product-Info$$|\.pi$$" <AllList | \
  71. #        pitool -b -F $(LOCATE_FORMAT) -f - - | sort -f | uniq >>$@
  72. #    @if test -f $@.info; then true; else echo "WARNING - missing $@.info"; fi
  73.  
  74. # Generate a list of all files and directories rooted at this point in the
  75. # file tree.  This target is only rebuilt when it does not exist, so the only
  76. # way to get rid of it is to either make "clobber" or manually delete it.
  77.  
  78. AllList:
  79.     find . -print | sort -f | sed "s:^./::" >/tmp/all.tmp
  80.     cp /tmp/all.tmp $@
  81.  
  82. # Build archives in the BBS section of the CD using various parts of the GNU tree.
  83. # In general, there are three archives per program, one for the source, one for
  84. # the binaries, and one for the diffs of the amiga source against the baseline
  85. # source.  The packing script requires the name of the BBS directory as a command
  86. # line argument.  A default value is provided in BBSROOT, but this can be (and
  87. # normally is) overridden by the upper level makefile that calls this one.
  88.  
  89. BBS:
  90.     (cd src/amiga && $(MAKE) -f $(MAKEFILE) $(FLAGS_TO_PASS) $@)
  91.     (cd src/baseline && $(MAKE) -f $(MAKEFILE) $(FLAGS_TO_PASS) $@)
  92.     $(SHELL) PackGNU.sh $(BBSROOT) $(SCRATCHDIR)
  93.  
  94. # Clean up this directory.
  95.  
  96. clean:
  97.         rm -f *!
  98.  
  99. clobber:    clean
  100.         rm -f CONTENTS INDEX
  101.