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

  1. # Makefile for pnm 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 -ansi -pedantic -fpcc-struct-return
  15. CFLAGS =    -O
  16. #CFLAGS =    -g
  17. #CFLAGS =    -g -O
  18. TIFFDEF =    -DLIBTIFF
  19. TIFFINC =       -I../libtiff
  20. TIFFLIB =       ../libtiff/libtiff.a
  21. TIFFBINARIES =  tifftopnm pnmtotiff
  22. TIFFOBJECTS =   tifftopnm.o pnmtotiff.o
  23. #LDFLAGS =    -s
  24. LDFLAGS =    
  25. INSTALLBINARIES =    /usr/new/pbm
  26. INSTALLSCRIPTS =    $(INSTALLBINARIES)
  27. INSTALLMANUALS1 =    /usr/man/man1
  28. SUFFIXMANUALS1 =    1
  29. INSTALLMANUALS3 =    /usr/man/man3
  30. SUFFIXMANUALS3 =    3
  31. INSTALLMANUALS5 =    /usr/man/man5
  32. SUFFIXMANUALS5 =    5
  33. MANCP =            cp
  34.  
  35. PPMDIR =    ../ppm
  36. INCLUDEPPM =    -I$(PPMDIR)
  37. LIBPPM =    $(PPMDIR)/libppm.a
  38. DEFPPM =    $(PPMDIR)/ppm.h
  39. DEFLIBPPM =    $(PPMDIR)/libppm.h
  40.  
  41. PGMDIR =    ../pgm
  42. INCLUDEPGM =    -I$(PGMDIR)
  43. LIBPGM =    $(PGMDIR)/libpgm.a
  44. DEFPGM =    $(PGMDIR)/pgm.h
  45. DEFLIBPGM =    $(PGMDIR)/libpgm.h
  46.  
  47. PBMDIR =    ../pbm
  48. INCLUDEPBM =    -I$(PBMDIR)
  49. LIBPBM =    $(PBMDIR)/libpbm.a
  50. DEFPBM =    $(PBMDIR)/pbm.h ../pbmplus.h
  51. DEFLIBPBM =    $(PBMDIR)/libpbm.h
  52.  
  53. SHELL =        /bin/sh
  54. INCLUDE =    -I.. $(INCLUDEPPM) $(INCLUDEPGM) $(INCLUDEPBM)
  55. ALLCFLAGS =    $(CFLAGS) $(INCLUDE) $(TIFFDEF) $(TIFFINC)
  56. LIBPNM =    libpnm.a
  57.  
  58. PORTBINARIES =    fitstopnm giftopnm \
  59.         pnmalias pnmarith pnmcat pnmcomp pnmconvol pnmcrop \
  60.         pnmcut pnmdepth pnmenlarge pnmfile pnmflip pnmhisteq \
  61.         pnmhistmap pnminvert pnmnoraw pnmpad pnmpaste \
  62.         pnmtile pnmtoddif pnmtofits pnmtops pnmtorast \
  63.         pnmtosgi pnmtosir pnmtoxwd \
  64.         rasttopnm sgitopnm sirtopnm xwdtopnm zeisstopnm
  65. MATHBINARIES =    pnmgamma pnmnlfilt pnmrotate pnmscale pnmshear
  66. BINARIES =      $(PORTBINARIES) $(MATHBINARIES) $(TIFFBINARIES)
  67. SCRIPTS =    anytopnm pnmindex pnmmargin pnmsmooth pstopnm
  68.  
  69. PORTOBJECTS =    fitstopnm.o giftopnm.o \
  70.         pnmalias.o pnmarith.o pnmcat.o pnmcomp.o pnmconvol.o \
  71.         pnmcrop.o pnmcut.o pnmdepth.o pnmenlarge.o pnmfile.o \
  72.         pnmflip.o pnmhisteq.o pnmhistmap.o pnminvert.o \
  73.         pnmnoraw.o pnmpad.o pnmpaste.o pnmtile.o pnmtoddif.o \
  74.         pnmtofits.o pnmtops.o pnmtorast.o pnmtosgi.o pnmtosir.o \
  75.         pnmtoxwd.o rasttopnm.o sgitopnm.o sirtopnm.o xwdtopnm.o \
  76.         zeisstopnm.o pnmgamma.o pnmnlfilt.o pnmrotate.o \
  77.         pnmscale.o pnmshear.o
  78. OBJECTS =    $(PORTOBJECTS) $(TIFFOBJECTS)
  79.  
  80. MANUALS1 =    $(BINARIES) $(SCRIPTS)
  81. MANUALS3 =    libpnm
  82. MANUALS5 =    pnm
  83.  
  84.  
  85. #all:        binaries
  86. all:        merge
  87. #install:    install.bin
  88. install:    install.merge
  89.  
  90.  
  91. binaries:    $(BINARIES)
  92.  
  93. install.bin:    binaries $(SCRIPTS)
  94.     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  95.     cp $(BINARIES) $(INSTALLBINARIES)
  96.     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  97.     cp $(SCRIPTS) $(INSTALLSCRIPTS)
  98.     cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  99.  
  100.  
  101. merge:        pnmmerge
  102. pnmmerge:    pnmmerge.c $(OBJECTS) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  103.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  104.  
  105. install.merge:    install.pnmmerge $(SCRIPTS)
  106. install.pnmmerge:    pnmmerge
  107.     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  108.     cp pnmmerge $(INSTALLBINARIES)
  109.     cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pnmmerge $$i ; done
  110.     rm -f $(INSTALLBINARIES)/pnmmerge
  111.     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  112.     cp $(SCRIPTS) $(INSTALLSCRIPTS)
  113.     cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  114.  
  115.  
  116. install.man:
  117.     for i in $(MANUALS1) ; do \
  118.         rm -f $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
  119.         $(MANCP) $$i.1 $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
  120.     done
  121.     for i in $(MANUALS3) ; do \
  122.         rm -f $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
  123.         $(MANCP) $$i.3 $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
  124.     done
  125.     for i in $(MANUALS5) ; do \
  126.         rm -f $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
  127.         $(MANCP) $$i.5 $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
  128.     done
  129.  
  130.  
  131. # Rules for plain programs.
  132. $(PORTBINARIES) $(TIFFBINARIES):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  133.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  134.  
  135. # Rule for math-dependent programs.
  136. $(MATHBINARIES):        pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) \
  137.             $(LIBPPM) $(LIBPGM) $(LIBPBM)
  138.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  139.  
  140. # Rule for objects.
  141. $(OBJECTS):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM)
  142.     $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  143.  
  144. # And libraries.
  145. $(LIBPBM):
  146.     cd $(PBMDIR) ; make lib
  147. $(LIBPGM) FOO:
  148.     cd $(PGMDIR) ; make lib
  149. $(LIBPPM) BAR:
  150.     cd $(PPMDIR) ; make lib
  151. lib:        $(LIBPNM)
  152. $(LIBPNM):    libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  153.     -rm -f $(LIBPNM)
  154.     ar rc $(LIBPNM) libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  155.     -ranlib $(LIBPNM)
  156.  
  157. libpnm1.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
  158.     $(CC) $(ALLCFLAGS) -c libpnm1.c
  159. libpnm2.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) \
  160.         $(DEFLIBPGM) $(DEFLIBPBM)
  161.     $(CC) $(ALLCFLAGS) -c libpnm2.c
  162. libpnm3.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) \
  163.         $(DEFLIBPGM) $(DEFLIBPBM)
  164.     $(CC) $(ALLCFLAGS) -c libpnm3.c
  165. libpnm4.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c
  166.     $(CC) $(ALLCFLAGS) -c libpnm4.c
  167.  
  168. # Other dependencies.
  169. fitstopnm fitstopnm.o:        fitstopnm.c
  170. giftopnm giftopnm.o:        giftopnm.c
  171. pnmalias pnmalias.o:        pnmalias.c
  172. pnmarith pnmarith.o:        pnmarith.c
  173. pnmcat pnmcat.o:        pnmcat.c
  174. pnmcomp pnmcomp.o:        pnmcomp.c
  175. pnmconvol pnmconvol.o:        pnmconvol.c
  176. pnmcrop pnmcrop.o:        pnmcrop.c
  177. pnmcut pnmcut.o:        pnmcut.c
  178. pnmdepth pnmdepth.o:        pnmdepth.c
  179. pnmenlarge pnmenlarge.o:    pnmenlarge.c
  180. pnmfile pnmfile.o:        pnmfile.c
  181. pnmflip pnmflip.o:        pnmflip.c
  182. pnmgamma pnmgamma.o:        pnmgamma.c
  183. pnmhistmap pnmhistmap.o:    pnmhistmap.c
  184. pnminvert pnminvert.o:        pnminvert.c
  185. pnmnoraw pnmnoraw.o:        pnmnoraw.c
  186. pnmpad pnmpad.o:        pnmpad.c
  187. pnmpaste pnmpaste.o:        pnmpaste.c
  188. pnmrotate pnmrotate.o:        pnmrotate.c
  189. pnmscale pnmscale.o:        pnmscale.c
  190. pnmshear pnmshear.o:        pnmshear.c
  191. pnmtile pnmtile.o:        pnmtile.c
  192. pnmtoddif pnmtoddif.o:        pnmtoddif.c
  193. pnmtofits pnmtofits.o:        pnmtofits.c
  194. pnmtops pnmtops.o:        pnmtops.c
  195. pnmtosgi pnmtosgi.o:        pnmtosgi.c sgi.h
  196. pnmtosir pnmtosir.o:        pnmtosir.c
  197. pnmtorast pnmtorast.o:        pnmtorast.c rast.h
  198. pnmtotiff pnmtotiff.o:        pnmtotiff.c
  199. pnmtoxwd pnmtoxwd.o:        pnmtoxwd.c x11wd.h
  200. rasttopnm rasttopnm.o:        rasttopnm.c rast.h
  201. sgitopnm sgitopnm.o:        sgitopnm.c sgi.h
  202. sirtopnm sirtopnm.o:        sirtopnm.c
  203. tifftopnm tifftopnm.o:        tifftopnm.c
  204. xwdtopnm xwdtopnm.o:        xwdtopnm.c x10wd.h x11wd.h
  205. zeisstopnm zeisstopnm.o:    zeisstopnm.c
  206.  
  207. clean:
  208.     -rm -f *.o *.a *.cat *~ core $(BINARIES) pnmmerge
  209.