home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / NETWORK / netpbm_src.lzh / NETPBM / PGM / SMakefile < prev    next >
Makefile  |  1996-11-18  |  5KB  |  167 lines

  1. # Makefile for pgm tools.
  2. #
  3. # Copyright (C) 1989, 1991 by Jef Poskanzer.
  4. # Modified by Robert A. Knop Jr. (rknop@cco.caltech.edu) 940126 for Amiga SAS/C
  5. #   Merge is not currently supported by this makefile
  6. #
  7. # Permission to use, copy, modify, and distribute this software and its
  8. # documentation for any purpose and without fee is hereby granted, provided
  9. # that the above copyright notice appear in all copies and that both that
  10. # copyright notice and this permission notice appear in supporting
  11. # documentation.  This software is provided "as is" without express or
  12. # implied warranty.
  13.  
  14. # Default values, usually overridden by top-level Makefile.
  15. #CC =        cc
  16. #CC =        gcc
  17. #CC =        gcc -ansi -pedantic -fcombine-regs -fpcc-struct-return
  18. CC =        sc
  19. CFLAGS =
  20. #CFLAGS =    -g
  21. #CFLAGS =    -g -O
  22. LDFLAGS =    -s
  23. #LDFLAGS =    
  24. INSTALLBINARIES =    /bin
  25. INSTALLMANUALS1 =    /man/man1
  26. SUFFIXMANUALS1 =    1
  27. INSTALLMANUALS3 =    /man/man3
  28. SUFFIXMANUALS3 =    3
  29. INSTALLMANUALS5 =    /man/man5
  30. SUFFIXMANUALS5 =    5
  31. MANCP =            copy
  32.  
  33. PBMDIR =    /pbm
  34. INCLUDEPBM =    IDIR=$(PBMDIR)
  35. LIBPBM =    $(PBMDIR)/libpbm.lib
  36. DEFPBM =    $(PBMDIR)/pbm.h /pbmplus.h
  37. DEFLIBPBM =    $(PBMDIR)/libpbm.h
  38.  
  39. #SHELL =        /bin/sh
  40. INCLUDE =    IDIR=/ $(INCLUDEPBM)
  41. ALLCFLAGS =    $(CFLAGS) $(INCLUDE)
  42. LIBPGM =    libpgm.lib
  43.  
  44. PORTBINARIES =    asciitopgm hipstopgm lispmtopgm \
  45.         pbmtopgm pgmbentley pgmnoise \
  46.         pgmoil pgmtofs pgmtolispm \
  47.         psidtopgm spottopgm
  48. MATHBINARIES =    pgmcrater pgmedge pgmkernel pgmtexture rawtopgm \
  49.         bioradtopgm fstopgm pgmenhance \
  50.         pgmhist pgmnorm pgmramp pgmtopbm 
  51. BINARIES =    $(PORTBINARIES) $(MATHBINARIES)
  52.  
  53. OBJECTS =    asciitopgm bioradtopgm.o fstopgm.o hipstopgm.o 
  54.         lispmtopgm.o pbmtopgm.o \
  55.         pgmbentley.o pgmenhance.o pgmhist.o pgmkernel.o pgmnoise.o \
  56.         pgmnorm.o pgmoil.o pgmramp.o pgmtofs.o pgmtolispm.o \
  57.         pgmtopbm.o psidtopgm.o spottopgm.o \
  58.         rawtopgm.o pgmcrater.o pgmedge.o pgmtexture.o
  59.  
  60. MANUALS1 =    $(BINARIES)
  61. MANUALS3 =    libpgm
  62. MANUALS5 =    pgm
  63.  
  64.  
  65. all:        binaries
  66. #all:        merge
  67. install:    install.bin
  68. #install:    install.merge
  69.  
  70.  
  71. binaries:    $(BINARIES)
  72.  
  73. install.bin:    binaries
  74. #    cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  75.     copy $(BINARIES) TO $(INSTALLBINARIES) CLONE
  76.  
  77.  
  78. #merge:        pgmmerge
  79. #pgmmerge:    pgmmerge.c $(OBJECTS) $(LIBPGM) $(LIBPBM)
  80. #    $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPGM) $(LIBPBM)
  81. #
  82. #install.merge:    install.pgmmerge
  83. #install.pgmmerge:    pgmmerge
  84. #    cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  85. #    cp pgmmerge $(INSTALLBINARIES)
  86. #    cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pgmmerge $$i ; done
  87. #    rm -f $(INSTALLBINARIES)/pgmmerge
  88.  
  89.  
  90. install.man:
  91.     execute < <(T:install_man.temp)
  92.     foreach i in $(MANUALS1)
  93.         delete $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  94.         $(MANCP) $${i}.1 $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  95.     end
  96.     <
  97.     execute < <(T:install_man.temp)
  98.     foreach i in $(MANUALS3)
  99.         delete $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3)
  100.         $(MANCP) $${i}.3 $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3)
  101.     end
  102.     <
  103.     execute < <(T:install_man.temp)
  104.     foreach i in $(MANUALS5)
  105.         delete $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5)
  106.         $(MANCP) $${i}.5 $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5)
  107.     end
  108.     <
  109.  
  110.  
  111. # Rule for plain programs.
  112. $(PORTBINARIES):    pgm.h $(DEFPBM) $(LIBPGM) $(LIBPBM)
  113.     $(CC) $(ALLCFLAGS) $(LDFLAGS) LINK $@.c $(LIBPGM) $(LIBPBM)
  114.  
  115. # Rule for math-dependent programs.
  116. $(MATHBINARIES):    pgm.h $(DEFPBM) $(LIBPGM) $(LIBPBM)
  117.     $(CC) $(ALLCFLAGS) $(LDFLAGS) MATH=I LINK $@.c $(LIBPGM) $(LIBPBM)
  118.  
  119. # commented out until merge supported RKNOP 931107
  120. # Rule for objects.
  121. #$(OBJECTS):    pgm.h $(DEFPBM)
  122. #    $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  123.  
  124. # And libraries.
  125. $(LIBPBM):
  126.     execute < <(T:smake_temp.com)
  127.     cd $(PBMDIR)
  128.     smake lib
  129.     <
  130. lib:        $(LIBPGM)
  131. $(LIBPGM):    libpgm1.o libpgm2.o
  132.     -delete $(LIBPGM)
  133.     oml $(LIBPGM) r libpgm1.o libpgm2.o
  134.  
  135. libpgm1.o:    pgm.h $(DEFPBM) libpgm.h libpgm1.c
  136.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libpgm1.c
  137. libpgm2.o:    pgm.h $(DEFPBM) libpgm.h libpgm2.c $(DEFLIBPBM)
  138.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libpgm2.c
  139.  
  140. # Other dependencies.
  141. asciitopgm asciitopgm.o:    asciitopgm.c
  142. bioradtopgm bioradtopgm.o:    bioradtopgm.c
  143. fstopgm fstopgm.o:        fstopgm.c
  144. hipstopgm hipstopgm.o:        hipstopgm.c
  145. lispmtopgm lispmtopgm.o:    lispmtopgm.c
  146. pbmtopgm pbmtopgm.o:        pbmtopgm.c
  147. pgmbentley pgmbentley.o:    pgmbentley.c
  148. pgmcrater pgmcrater.o:        pgmcrater.c
  149. pgmedge pgmedge.o:        pgmedge.c
  150. pgmenhance pgmenhance.o:    pgmenhance.c
  151. pgmhist pgmhist.o:        pgmhist.c
  152. pgmkernel pgmkernel.o:        pgmkernel.c
  153. pgmnoise pgmnoise.o:        pgmnoise.c
  154. pgmnorm pgmnorm.o:        pgmnorm.c
  155. pgmoil pgmoil.o:        pgmoil.c
  156. pgmramp pgmramp.o:        pgmramp.c
  157. pgmtexture pgmtexture.o:    pgmtexture.c
  158. pgmtopbm pgmtopbm.o:        pgmtopbm.c dithers.h $(DEFPBM)
  159. pgmtofs pgmtofs.o:        pgmtofs.c
  160. pgmtolispm pgmtolispm.o:    pgmtolispm.c
  161. psidtopgm psidtopgm.o:        psidtopgm.c
  162. rawtopgm rawtopgm.o:        rawtopgm.c
  163. spottopgm spottopgm.o:        spottopgm.c
  164.  
  165. clean:
  166.     delete *.o *.lib *.lnk $(BINARIES)
  167.