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

  1. # Makefile for ppm tools for Amiga with SAS/C version 6.3
  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 -ansi -pedantic -fcombine-regs -fpcc-struct-return
  17. CC =        sc
  18. #CFLAGS =    -O
  19. CFLAGS =
  20. #CFLAGS =    -g -O
  21. #LDFLAGS =    -s
  22. LDFLAGS =    
  23. INSTALLBINARIES =    /bin
  24. INSTALLSCRIPTS =    $(INSTALLBINARIES)
  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. PGMDIR =    /pgm
  34. INCLUDEPGM =    IDIR=$(PGMDIR)
  35. LIBPGM =    $(PGMDIR)/libpgm.lib
  36. DEFPGM =    $(PGMDIR)/pgm.h
  37. DEFLIBPGM =    $(PGMDIR)/libpgm.h
  38.  
  39. PBMDIR =    /pbm
  40. INCLUDEPBM =    IDIR=$(PBMDIR)
  41. LIBPBM =    $(PBMDIR)/libpbm.lib
  42. DEFPBM =    $(PBMDIR)/pbm.h /pbmplus.h
  43. DEFLIBPBM =    $(PBMDIR)/libpbm.h
  44.  
  45. #SHELL =    /bin/sh
  46. INCLUDE =    IDIR=/ $(INCLUDEPGM) $(INCLUDEPBM)
  47. ALLCFLAGS =    $(CFLAGS) $(INCLUDE)
  48. LIBPPM =    libppm.lib
  49.  
  50. PORTBINARIES =    bmptoppm gouldtoppm hpcdtoppm imgtoppm mtvtoppm pcxtoppm \
  51.         pi1toppm pjtoppm ppmbrighten ppmrelief \
  52.         ppmshift ppmspread ppmtobmp ppmtoicr ppmtomitsu \
  53.         ppmtopcx ppmtopi1 ppmtopict ppmtopj \
  54.         ppmtopuzz ppmtorgb3 ppmtosixel ppmtotga \
  55.         ppmtoxpm ppmtoyuv ppmtoyuvsplit qrttoppm rawtoppm \
  56.         rgb3toppm spctoppm sputoppm tgatoppm xvminitoppm \
  57.         yuvtoppm yuvsplittoppm
  58. MATHBINARIES =    picttoppm ppmchange ppmforge ppmpat ppmqvga ppmtogif ppmtomap \
  59.         ppmtoacad ppmtopjxl sldtoppm ilbmtoppm ppmdither \
  60.         ppmnorm ppmquant pgmtoppm ppm3d ppmdim ppmdist ppmflash ppmhist \
  61.         ppmmake ppmmix ppmntsc \
  62.         ppmtoilbm ppmtopgm ppmtouil ximtoppm xpmtoppm 
  63. BINARIES =    $(PORTBINARIES) $(MATHBINARIES)
  64. SCRIPTS =    ppmquantall
  65.  
  66. OBJECTS =    bmptoppm.o gouldtoppm.o hpcdtoppm.o ilbmtoppm.o imgtoppm.o \
  67.         mtvtoppm.o pcxtoppm.o pgmtoppm.o pi1toppm.o picttoppm.o \
  68.         pjtoppm.o \
  69.         ppm3d.o ppmbrighten.o ppmchange.o ppmdim.o ppmdist.o ppmdither.o \
  70.         ppmflash.o ppmhist.o ppmmake.o ppmmix.o ppmnorm.o \
  71.         ppmntsc.o ppmquant.o ppmrelief.o ppmshift.o ppmspread.o \
  72.         ppmtoacad.o \
  73.         ppmtobmp.o ppmtogif.o ppmtoicr.o ppmtoilbm.o ppmtomitsu.o \
  74.         ppmtopcx.o ppmtopgm.o ppmtopi1.o ppmtopict.o ppmtopj.o \
  75.         ppmtopjxl.o ppmtopuzz.o ppmtorgb3.o ppmtosixel.o \
  76.         ppmtotga.o ppmtouil.o ppmtoxpm.o ppmtoyuv.o \
  77.         ppmtoyuvsplit.o \
  78.         qrttoppm.o rawtoppm.o rgb3toppm.o sldtoppm.o spctoppm.o \
  79.         sputoppm.o tgatoppm.o ximtoppm.o xpmtoppm.o xvminitoppm.o \
  80.         yuvtoppm.o yuvsplittoppm.o \
  81.         ppmforge.o ppmpat.o ppmqvga.o ppmtomap.o
  82.  
  83. MANUALS1P=    $(PORTBINARIES)
  84. MANUALS1M=    $(MATHBINARIES)
  85. MANUALS1S=    $(SCRIPTS)
  86. MANUALS3 =    libppm
  87. MANUALS5 =    ppm
  88.  
  89.  
  90. all:        binaries
  91. #all:        merge
  92. install:    install.bin
  93. #install:    install.merge
  94.  
  95.  
  96. binaries:    $(BINARIES)
  97.  
  98. install.bin:    binaries $(SCRIPTS)
  99. #    cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  100.     copy $(PORTBINARIES) TO $(INSTALLBINARIES) CLONE
  101.     copy $(MATHBINARIES) TO $(INSTALLBINARIES) CLONE
  102. #    cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  103.      execute < <(T:install_man.temp)
  104.         foreach i in $(SCRIPTS)
  105.         protect $${i} +s
  106.         end
  107.     <
  108.     copy $(SCRIPTS) TO $(INSTALLSCRIPTS) CLONE
  109. #    cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  110.  
  111.  
  112. #merge:        ppmmerge
  113. #ppmmerge:    ppmmerge.c $(OBJECTS) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  114. #    $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
  115. #
  116. #install.merge:    install.ppmmerge $(SCRIPTS)
  117. #install.ppmmerge:    ppmmerge
  118. #    cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  119. #    cp ppmmerge $(INSTALLBINARIES)
  120. #    cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln ppmmerge $$i ; done
  121. #    rm -f $(INSTALLBINARIES)/ppmmerge
  122. #    cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  123. #    cp $(SCRIPTS) $(INSTALLSCRIPTS)
  124. #    cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  125.  
  126.  
  127. install.man:
  128.     execute < <(T:install_man.temp)
  129.     foreach i in $(MANUALS1P)
  130.         delete $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  131.         $(MANCP) $${i}.1 $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  132.     end
  133.     foreach i in $(MANUALS1M)
  134.         delete $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  135.         $(MANCP) $${i}.1 $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  136.     end
  137.     foreach i in $(MANUALS1S)
  138.         delete $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  139.         $(MANCP) $${i}.1 $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1)
  140.     end
  141.     <
  142.     execute < <(T:install_man.temp)
  143.     foreach i in $(MANUALS3)
  144.         delete $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3)
  145.         $(MANCP) $${i}.3 $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3)
  146.     end
  147.      <
  148.     execute < <(T:install_man.temp)
  149.     foreach i in $(MANUALS5)
  150.         delete $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5)
  151.         $(MANCP) $${i}.5 $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5)
  152.     end
  153.     <
  154.  
  155.  
  156. # Rule for plain programs.
  157. $(PORTBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  158.     $(CC) $(ALLCFLAGS) $(LDFLAGS) LINK $@.c $(LIBPPM) $(LIBPGM) $(LIBPBM)
  159.  
  160. # Rule for math-dependent programs.
  161. $(MATHBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  162.     $(CC) $(ALLCFLAGS) $(LDFLAGS) MATH=I LINK $@.c $(LIBPPM) $(LIBPGM) $(LIBPBM)
  163.  
  164. #The following is only needed for ppmmerge, which I currently don't support RKNOP
  165. # Rule for objects.
  166. #$(OBJECTS):    ppm.h $(DEFPGM) $(DEFPBM)
  167. #    $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  168.  
  169. # And libraries.
  170. $(LIBPBM):
  171.         execute < <(T:smake_temp.com)
  172.     cd $(PBMDIR)
  173.     smake lib
  174.     <
  175. $(LIBPGM):
  176.     execute < <(T:smake_temp.com)
  177.     cd $(PGMDIR)
  178.     smake lib
  179.     <
  180. lib:        $(LIBPPM)
  181. $(LIBPPM):    libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o bitio.o
  182.       -delete $(LIBPPM)
  183.     oml $(LIBPPM) r libppm1.o libppm2.o libppm3.o libppm4.o \
  184.     libppm5.o bitio.o
  185.  
  186. libppm1.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm1.c
  187.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libppm1.c
  188. libppm2.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm2.c $(DEFLIBPGM) \
  189.         $(DEFLIBPBM)
  190.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libppm2.c
  191. libppm3.o:    ppm.h $(DEFPGM) $(DEFPBM) ppmcmap.h libppm.h libppm3.c
  192.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libppm3.c
  193. libppm4.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm4.c
  194.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libppm4.c
  195. libppm5.o:    ppm.h $(DEFPGM) $(DEFPBM) ppmdraw.h libppm5.c
  196.     $(CC) $(ALLCFLAGS) MATH=I NOLINK libppm5.c
  197. bitio.o:    /pbmplus.h bitio.c
  198.     $(CC) $(ALLCFLAGS) MATH=I NOLINK bitio.c
  199.  
  200. # Other dependencies.
  201. bmptoppm bmptoppm.o:        bmptoppm.c bitio.o bitio.h bmp.h
  202. gouldtoppm gouldtoppm.o:    gouldtoppm.c
  203. hpcdtoppm hpcdtoppm.o:        hpcdtoppm.c
  204. ilbmtoppm ilbmtoppm.o:        ilbmtoppm.c ilbm.h
  205. imgtoppm imgtoppm.o:        imgtoppm.c
  206. mtvtoppm mtvtoppm.o:        mtvtoppm.c
  207. pcxtoppm pcxtoppm.o:        pcxtoppm.c
  208. pgmtoppm pgmtoppm.o:        pgmtoppm.c
  209. pi1toppm pi1toppm.o:        pi1toppm.c
  210. picttoppm picttoppm.o:        picttoppm.c
  211. pjtoppm pjtoppm.o:        pjtoppm.c
  212. ppm3d ppm3d.o:            ppm3d.c
  213. ppmbrighten ppmbrighten.o:    ppmbrighten.c
  214. ppmchange ppmchange.o:        ppmchange.c
  215. ppmdim ppmdim.o:        ppmdim.c
  216. ppmdist ppmdist.o:        ppmdist.c ppmcmap.h
  217. ppmdither ppmdither.o:        ppmdither.c
  218. ppmflash ppmflash.o:        ppmflash.c
  219. ppmforge ppmforge.o:        ppmforge.c
  220. ppmhist ppmhist.o:        ppmhist.c ppmcmap.h
  221. ppmmake ppmmake.o:        ppmmake.c
  222. ppmmix ppmmix.o:        ppmmix.c
  223. ppmnorm ppmnorm.o:        ppmnorm.c lum.h
  224. ppmntsc ppmntsc.o:        ppmntsc.c
  225. ppmpat ppmpat.o:        ppmpat.c ppmdraw.h
  226. ppmquant ppmquant.o:        ppmquant.c $(PGMDIR)/dithers.h ppmcmap.h
  227. ppmqvga ppmqvga.o:        ppmqvga.c
  228. ppmrelief ppmrelief.o:        ppmrelief.c
  229. ppmshift ppmshift.o:        ppmshift.c
  230. ppmspread ppmspread.o:        ppmspread.c
  231. ppmtoacad ppmtoacad.o:        ppmtoacad.c ppmcmap.h autocad.h
  232. ppmtobmp ppmtobmp.o:        ppmtobmp.c bitio.h bmp.h
  233. ppmtogif ppmtogif.o:        ppmtogif.c ppmcmap.h
  234. ppmtoicr ppmtoicr.o:        ppmtoicr.c ppmcmap.h
  235. ppmtoilbm ppmtoilbm.o:        ppmtoilbm.c ilbm.h ppmcmap.h
  236. ppmtomitsu ppmtomitsu.o:    ppmtomitsu.c ppmcmap.h mitsu.h
  237. ppmtomap ppmtomap.o:        ppmtomap.c ppmcmap.h
  238. ppmtopcx ppmtopcx.o:        ppmtopcx.c ppmcmap.h
  239. ppmtopgm ppmtopgm.o:        ppmtopgm.c
  240. ppmtopi1 ppmtopi1.o:        ppmtopi1.c ppmcmap.h
  241. ppmtopict ppmtopict.o:        ppmtopict.c ppmcmap.h
  242. ppmtopj ppmtopj.o:        ppmtopj.c
  243. ppmtopjxl ppmtopjxl.o:        ppmtopjxl.c ppmcmap.h
  244. ppmtopuzz ppmtopuzz.o:        ppmtopuzz.c ppmcmap.h
  245. ppmtorgb3 ppmtorgb3.o:        ppmtorgb3.c
  246. ppmtosixel ppmtosixel.o:    ppmtosixel.c ppmcmap.h
  247. ppmtotga ppmtotga.o:        ppmtotga.c ppmcmap.h
  248. ppmtouil ppmtouil.o:        ppmtouil.c ppmcmap.h
  249. ppmtoxpm ppmtoxpm.o:        ppmtoxpm.c ppmcmap.h
  250. ppmtoyuv ppmtoyuv.o:        ppmtoyuv.c
  251. ppmtoyuvsplit ppmtoyuvsplit.o:    ppmtoyuvsplit.c
  252. qrttoppm qrttoppm.o:        qrttoppm.c
  253. rawtoppm rawtoppm.o:        rawtoppm.c
  254. rgb3toppm rgb3toppm.o:        rgb3toppm.c
  255. sldtoppm sldtoppm.o:        sldtoppm.c ppmdraw.h autocad.h
  256. spctoppm spctoppm.o:        spctoppm.c
  257. sputoppm sputoppm.o:        sputoppm.c
  258. tgatoppm tgatoppm.o:        tgatoppm.c tga.h
  259. ximtoppm ximtoppm.o:        ximtoppm.c xim.h
  260. xpmtoppm xpmtoppm.o:        xpmtoppm.c
  261. xvminitoppm xvminitoppm.o:    xvminitoppm.c
  262. yuvtoppm yuvtoppm.o:        yuvtoppm.c
  263. yuvsplittoppm yuvsplittoppm.o:    yuvsplittoppm.c
  264.  
  265. clean:
  266.     -delete *.o *.lib *.lnk
  267. #                              $(BINARIES)
  268.     -delete $(PORTBINARIES)
  269.     -delete $(MATHBINARIES)
  270.