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 / SMakefile < prev    next >
Makefile  |  1996-11-18  |  7KB  |  229 lines

  1. # Makefile for pnm tools.
  2. #
  3. # Copyright (C) 1989, 1991 by Jef Poskanzer.
  4. #
  5. # Modified by Robert A. Knop Jr. (rknop@cco.caltech.edu) 940126 for Amiga SAS/C
  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 -ansi -pedantic -fcombine-regs -fpcc-struct-return
  17. CC =        sc
  18. #CFLAGS =    -O
  19. CFLAGS =
  20. #CFLAGS =    -g -O
  21. TIFFDEF =    DEFINE=LIBTIFF
  22. TIFFINC =       IDIR=/libtiff
  23. TIFFLIB =       /libtiff/libtiff.lib
  24. TIFFBINARIES =  tifftopnm pnmtotiff
  25. TIFFOBJECTS =   tifftopnm.o pnmtotiff.o
  26. #LDFLAGS =    -s
  27. LDFLAGS =    
  28. INSTALLBINARIES =    /bin
  29. INSTALLSCRIPTS =    $(INSTALLBINARIES)
  30. INSTALLMANUALS1 =    /man/man1
  31. SUFFIXMANUALS1 =    1
  32. INSTALLMANUALS3 =    /man/man3
  33. SUFFIXMANUALS3 =    3
  34. INSTALLMANUALS5 =    /man/man5
  35. SUFFIXMANUALS5 =    5
  36. MANCP =            copy
  37.  
  38. PPMDIR =    /ppm
  39. INCLUDEPPM =    IDIR=$(PPMDIR)
  40. LIBPPM =    $(PPMDIR)/libppm.lib
  41. DEFPPM =    $(PPMDIR)/ppm.h
  42. DEFLIBPPM =    $(PPMDIR)/libppm.h
  43.  
  44. PGMDIR =    /pgm
  45. INCLUDEPGM =    IDIR=$(PGMDIR)
  46. LIBPGM =    $(PGMDIR)/libpgm.lib
  47. DEFPGM =    $(PGMDIR)/pgm.h
  48. DEFLIBPGM =    $(PGMDIR)/libpgm.h
  49.  
  50. PBMDIR =    /pbm
  51. INCLUDEPBM =    IDIR=$(PBMDIR)
  52. LIBPBM =    $(PBMDIR)/libpbm.lib
  53. DEFPBM =    $(PBMDIR)/pbm.h /pbmplus.h
  54. DEFLIBPBM =    $(PBMDIR)/libpbm.h
  55.  
  56. #SHELL =        /bin/sh
  57. INCLUDE =    IDIR=/ $(INCLUDEPPM) $(INCLUDEPGM) $(INCLUDEPBM)
  58. ALLCFLAGS =    $(CFLAGS) $(INCLUDE) $(TIFFDEF) $(TIFFINC)
  59. LIBPNM =    libpnm.lib
  60.  
  61. PORTBINARIES =    pnmarith pnmcat pnmcrop pnmcut \
  62.         pnmdepth pnmenlarge pnmfile pnmflip pnminvert \
  63.         pnmnoraw pnmpad pnmpaste pnmtile \
  64.         pnmtorast pnmtosir pnmtoxwd \
  65.         rasttopnm sirtopnm xwdtopnm zeisstopnm
  66. MATHBINARIES =    fitstopnm pnmalias pnmgamma pnmnlfilt pnmrotate pnmshear \
  67.         pnmcomp giftopnm pnmhistmap pnmconvol pnmscale pnmtoddif \
  68.         pnmtofits pnmtops
  69. BINARIES =      $(PORTBINARIES) $(MATHBINARIES) $(TIFFBINARIES)
  70. SCRIPTS =    anytopnm pnmindex pnmmargin pnmsmooth pstopnm
  71.  
  72. PORTOBJECTS =    fitstopnm giftopnm.o pnmalias.o \
  73.         pnmarith.o pnmcat.o pnmcomp.o pnmconvol.o pnmcrop.o pnmcut.o \
  74.         pnmdepth.o pnmenlarge.o pnmfile.o pnmflip.o pnmhistmap.o \
  75.         pnminvert.o pnmnoraw.o pnmpad.o pnmpaste.o \
  76.         pnmtile.o pnmtoddif.o pnmtofits.o pnmtops.o pnmtorast.o \
  77.         pnmtosir.o pnmtoxwd.o \
  78.         rasttopnm.o sirtopnm.o xwdtopnm.o zeisstopnm.o \
  79.         pnmgamma.o pnmnlfilt.o pnmrotate.o pnmscale.o pnmshear.o
  80. OBJECTS =    $(PORTOBJECTS) $(TIFFOBJECTS)
  81.  
  82. MANUALS1 =    $(BINARIES) $(SCRIPTS)
  83. MANUALS3 =    libpnm
  84. MANUALS5 =    pnm
  85.  
  86.  
  87. all:        binaries
  88. #all:        merge
  89. install:    install.bin
  90. #install:    install.merge
  91.  
  92.  
  93. binaries:    $(BINARIES)
  94.  
  95. install.bin:    binaries $(SCRIPTS)
  96. #    cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  97.     copy $(BINARIES) TO $(INSTALLBINARIES) CLONE
  98. #    cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  99.      execute < <(T:install_man.temp)
  100.         foreach i in $(SCRIPTS)
  101.         protect $${i} +s
  102.         end
  103.     <
  104.     copy $(SCRIPTS) TO $(INSTALLSCRIPTS) CLONE
  105. #    cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  106.  
  107.  
  108. #merge:        pnmmerge
  109. #pnmmerge:    pnmmerge.c $(OBJECTS) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  110. #    $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  111. #
  112. #install.merge:    install.pnmmerge $(SCRIPTS)
  113. #install.pnmmerge:    pnmmerge
  114. #    cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  115. #    cp pnmmerge $(INSTALLBINARIES)
  116. #    cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pnmmerge $$i ; done
  117. #    rm -f $(INSTALLBINARIES)/pnmmerge
  118. #    cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  119. #    cp $(SCRIPTS) $(INSTALLSCRIPTS)
  120. #    cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  121.  
  122.  
  123. install.man:
  124.     execute < <(T:install_man.temp)
  125.     foreach i in $(MANUALS1)
  126.         delete $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  127.         $(MANCP) $${i}.1 $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  128.     end
  129.     <
  130.     execute < <(T:install_man.temp)
  131.     foreach i in $(MANUALS3)
  132.         delete $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3)
  133.         $(MANCP) $${i}.3 $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3)
  134.     end
  135.     <
  136.     execute < <(T:install_man.temp)
  137.     foreach i in $(MANUALS5)
  138.         delete $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5)
  139.         $(MANCP) $${i}.5 $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5)
  140.     end
  141.     <
  142.  
  143.  
  144. # Rules for plain programs.
  145. $(PORTBINARIES) $(TIFFBINARIES):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  146.     $(CC) $(ALLCFLAGS) $(LDFLAGS) LINK $@.c $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  147.  
  148. # Rule for math-dependent programs.
  149. $(MATHBINARIES):        pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) \
  150.             $(LIBPPM) $(LIBPGM) $(LIBPBM)
  151.     $(CC) $(ALLCFLAGS) $(LDFLAGS) MATH=I LINK $@.c $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  152.  
  153. # commented out until merge supported RKNOP 931107
  154. # Rule for objects.
  155. #$(OBJECTS):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM)
  156. #    $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  157.  
  158. # And libraries.
  159. $(LIBPBM):
  160.     execute < <(T:smake_temp.com)
  161.     cd $(PBMDIR)
  162.     smake lib
  163.     <
  164. $(LIBPGM) FOO:
  165.     execute < <(T:smake_temp.com)
  166.     cd $(PGMDIR)
  167.     smake lib
  168.     <
  169. $(LIBPPM) BAR:
  170.     execute < <(T:smake_temp.com)
  171.     cd $(PPMDIR)
  172.     smake lib
  173.     <
  174. lib:        $(LIBPNM)
  175. $(LIBPNM):    libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  176.     -delete $(LIBPNM)
  177.     oml $(LIBPNM) r libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  178.  
  179. libpnm1.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
  180.     $(CC) $(ALLCFLAGS) NOLINK libpnm1.c
  181. libpnm2.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) \
  182.         $(DEFLIBPGM) $(DEFLIBPBM)
  183.     $(CC) $(ALLCFLAGS) NOLINK libpnm2.c
  184. libpnm3.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) \
  185.         $(DEFLIBPGM) $(DEFLIBPBM)
  186.     $(CC) $(ALLCFLAGS) NOLINK libpnm3.c
  187. libpnm4.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c
  188.     $(CC) $(ALLCFLAGS) NOLINK libpnm4.c
  189.  
  190. # Other dependencies.
  191. fitstopnm fitstopnm.o:        fitstopnm.c
  192. giftopnm giftopnm.o:        giftopnm.c
  193. pnmalias pnmalias.o:        pnmalias.c
  194. pnmarith pnmarith.o:        pnmarith.c
  195. pnmcat pnmcat.o:        pnmcat.c
  196. pnmcomp pnmcomp.o:        pnmcomp.c
  197. pnmconvol pnmconvol.o:        pnmconvol.c
  198. pnmcrop pnmcrop.o:        pnmcrop.c
  199. pnmcut pnmcut.o:        pnmcut.c
  200. pnmdepth pnmdepth.o:        pnmdepth.c
  201. pnmenlarge pnmenlarge.o:    pnmenlarge.c
  202. pnmfile pnmfile.o:        pnmfile.c
  203. pnmflip pnmflip.o:        pnmflip.c
  204. pnmgamma pnmgamma.o:        pnmgamma.c
  205. pnmhistmap pnmhistmap.o:    pnmhistmap.c
  206. pnminvert pnminvert.o:        pnminvert.c
  207. pnmnoraw pnmnoraw.o:        pnmnoraw.c
  208. pnmpad pnmpad.o:        pnmpad.c
  209. pnmpaste pnmpaste.o:        pnmpaste.c
  210. pnmrotate pnmrotate.o:        pnmrotate.c
  211. pnmscale pnmscale.o:        pnmscale.c
  212. pnmshear pnmshear.o:        pnmshear.c
  213. pnmtile pnmtile.o:        pnmtile.c
  214. pnmtoddif pnmtoddif.o:        pnmtoddif.c
  215. pnmtofits pnmtofits.o:        pnmtofits.c
  216. pnmtops pnmtops.o:        pnmtops.c
  217. pnmtosir pnmtosir.o:        pnmtosir.c
  218. pnmtorast pnmtorast.o:        pnmtorast.c rast.h
  219. pnmtotiff pnmtotiff.o:        pnmtotiff.c
  220. pnmtoxwd pnmtoxwd.o:        pnmtoxwd.c x11wd.h
  221. rasttopnm rasttopnm.o:        rasttopnm.c rast.h
  222. sirtopnm sirtopnm.o:        sirtopnm.c
  223. tifftopnm tifftopnm.o:        tifftopnm.c
  224. xwdtopnm xwdtopnm.o:        xwdtopnm.c x10wd.h x11wd.h
  225. zeisstopnm zeisstopnm.o:    zeisstopnm.c
  226.  
  227. clean:
  228.     delete *.o *.lib *.lnk $(BINARIES)
  229.