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 / Makefile.std < prev    next >
Makefile  |  1996-11-18  |  4KB  |  152 lines

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