home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / netpbma.zip / pbm / Makefile < prev    next >
Makefile  |  1997-04-20  |  6KB  |  207 lines

  1. # Makefile for pbm 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 =        gcc
  14. #CC =        gcc -ansi -pedantic -fcombine-regs -fpcc-struct-return
  15. CFLAGS =    -O3 -Zcrtdll
  16. #CFLAGS =    -g
  17. #CFLAGS =    -g -O
  18. TIFFDEF =       -DLIBTIFF
  19. LDFLAGS =    -s -Zcrtdll
  20. #LDFLAGS =    
  21.  
  22. INSTALLBINARIES =    /usr/new/pbm
  23. INSTALLMANUALS1 =    /usr/man/man1
  24. SUFFIXMANUALS1 =    1
  25. INSTALLMANUALS3 =    /usr/man/man3
  26. SUFFIXMANUALS3 =    3
  27. INSTALLMANUALS5 =    /usr/man/man5
  28. SUFFIXMANUALS5 =    5
  29. MANCP =            cp
  30. RANLIB =         ar s
  31.  
  32. SHELL =        /bin/sh
  33. INCLUDE =    -I..
  34. ALLCFLAGS =    $(CFLAGS) $(TIFFDEF) $(INCLUDE)
  35. LIBPBM =    libpbm.a
  36. LIB=        $(LIBPBM)
  37. LIBDLL=        libpbm_dll.a
  38. DLL=        libpbm.dll
  39. DEF=        libpbm.def
  40. DEFPBM =    pbm.h ../pbmplus.h
  41.  
  42. PORTBINARIES =    atktopbm brushtopbm cmuwmtopbm g3topbm \
  43.         icontopbm gemtopbm macptopbm mgrtopbm \
  44.         pbmclean pbmlife pbmmake pbmmask pbmpscale \
  45.         pbmreduce pbmtext \
  46.         pbmto10x pbmto4425 pbmtoascii pbmtoatk \
  47.         pbmtobbnbg pbmtocmuwm \
  48.         pbmtoepsi pbmtoepson \
  49.         pbmtog3 pbmtogem pbmtogo pbmtoicon pbmtolj \
  50.         pbmtoln03 pbmtolps pbmtomacp pbmtomgr \
  51.         pbmtopi3 pbmtoplot pbmtoptx \
  52.         pbmtox10bm pbmtoxbm pbmtoybm pbmtozinc \
  53.         pbmupc pi3topbm pktopbm xbmtopbm ybmtopbm
  54. MATHBINARIES =    pbmtopk
  55. BINARIES =    $(PORTBINARIES) $(MATHBINARIES)
  56.  
  57. OBJECTS =    atktopbm.o brushtopbm.o cmuwmtopbm.o g3topbm.o \
  58.         icontopbm.o gemtopbm.o macptopbm.o mgrtopbm.o \
  59.         pbmclean.o pbmlife.o pbmmake.o pbmmask.o pbmpscale.o \
  60.         pbmreduce.o pbmtext.o \
  61.         pbmto10x.o pbmto4425.o pbmtoascii.o pbmtoatk.o \
  62.         pbmtobbnbg.o pbmtocmuwm.o \
  63.         pbmtoepsi.o pbmtoepson.o \
  64.         pbmtog3.o pbmtogem.o pbmtogo.o pbmtoicon.o pbmtolj.o \
  65.         pbmtoln03.o pbmtolps.o pbmtomacp.o pbmtomgr.o \
  66.         pbmtopi3.o pbmtoplot.o pbmtoptx.o \
  67.         pbmtox10bm.o pbmtoxbm.o pbmtoybm.o pbmtozinc.o \
  68.         pbmupc.o pi3topbm.o pktopbm.o xbmtopbm.o ybmtopbm.o \
  69.         pbmtopk.o
  70.  
  71. OBJS =         libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  72.  
  73. MANUALS1 =    $(BINARIES)
  74. MANUALS3 =    libpbm
  75. MANUALS5 =    pbm
  76.  
  77.  
  78. all:        binaries
  79. #all:        merge
  80. #install:    install.bin
  81. install:    install.merge
  82.  
  83.  
  84. binaries:    $(BINARIES)
  85.  
  86. install.bin:    binaries
  87.     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  88.     cp $(BINARIES) $(INSTALLBINARIES)
  89.  
  90.  
  91. merge:        pbmmerge
  92. pbmmerge:    pbmmerge.c $(OBJECTS) $(LIBPBM)
  93.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) $(LIBPBM)
  94.  
  95. install.merge:    install.pbmmerge
  96. install.pbmmerge:    pbmmerge
  97.     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  98.     cp pbmmerge $(INSTALLBINARIES)
  99.     cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pbmmerge $$i ; done
  100.     rm -f $(INSTALLBINARIES)/pbmmerge
  101.  
  102.  
  103. install.man:
  104.     for i in $(MANUALS1) ; do \
  105.         rm -f $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
  106.         $(MANCP) $$i.1 $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
  107.     done
  108.     for i in $(MANUALS3) ; do \
  109.         rm -f $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
  110.         $(MANCP) $$i.3 $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
  111.     done
  112.     for i in $(MANUALS5) ; do \
  113.         rm -f $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
  114.         $(MANCP) $$i.5 $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
  115.     done
  116.  
  117. # Rule for plain programs.
  118. $(PORTBINARIES):    $(DEFPBM) $(LIBPBM)
  119.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPBM)
  120.  
  121. # Rule for math-dependent programs.
  122. $(MATHBINARIES):    $(DEFPBM) $(LIBPBM)
  123.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPBM)
  124.  
  125. # Rule for objects.
  126. $(OBJECTS):    $(DEFPBM)
  127.     $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  128.  
  129. # And library.
  130. lib:    $(LIB)
  131.  
  132. $(DEF): $(LIBDLL)
  133.     emxexp $(LIBDLL) >$(DEF).exports
  134.     cat $(DEF).header $(DEF).exports >$(DEF)
  135.  
  136. $(DLL): $(DEF) $(OBJS) $(LIBDLL)
  137.     $(CC) -Zdll -Zcrtdll ${DEF} -o $@ $(OBJS)
  138.  
  139. ${LIBDLL}: ${OBJS}
  140.     rm -f $@
  141.     ${AR} rc $@ ${OBJS}
  142.     ${RANLIB} $@
  143.  
  144. $(LIB): $(DLL)
  145.     emximp -o $(LIB) $(DEF)
  146.  
  147. libpbm1.o:    $(DEFPBM) ../version.h ../compile.h libpbm.h libpbm1.c
  148.     $(CC) $(ALLCFLAGS) -c libpbm1.c
  149. libpbm2.o:    $(DEFPBM) libpbm.h libpbm2.c
  150.     $(CC) $(ALLCFLAGS) -c libpbm2.c
  151. libpbm3.o:    $(DEFPBM) libpbm.h libpbm3.c
  152.     $(CC) $(ALLCFLAGS) -c libpbm3.c
  153. libpbm4.o:    $(DEFPBM) libpbm.h libpbm4.c
  154.     $(CC) $(ALLCFLAGS) -c libpbm4.c
  155. libpbm5.o:    $(DEFPBM) pbmfont.h libpbm5.c
  156.     $(CC) $(ALLCFLAGS) -c libpbm5.c
  157.  
  158. # Other dependencies.
  159. atktopbm atktopbm.o:        atktopbm.c
  160. brushtopbm brushtopbm.o:    brushtopbm.c
  161. cmuwmtopbm cmuwmtopbm.o:    cmuwmtopbm.c cmuwm.h
  162. g3topbm g3topbm.o:        g3topbm.c g3.h
  163. icontopbm icontopbm.o:        icontopbm.c
  164. gemtopbm gemtopbm.o:        gemtopbm.c
  165. macptopbm macptopbm.o:        macptopbm.c macp.h
  166. mgrtopbm mgrtopbm.o:        mgrtopbm.c mgr.h
  167. pbmclean pbmclean.o:        pbmclean.c
  168. pbmlife pbmlife.o:        pbmlife.c
  169. pbmmake pbmmake.o:        pbmmake.c
  170. pbmmask pbmmask.o:        pbmmask.c
  171. pbmpscale pbmpscale.o:        pbmpscale.c
  172. pbmreduce pbmreduce.o:        pbmreduce.c
  173. pbmtext pbmtext.o:        pbmtext.c pbmfont.h
  174. pbmto10x pbmto10x.o:        pbmto10x.c
  175. pbmto4425 pbmto4425.o:        pbmto4425.c
  176. pbmtoascii pbmtoascii.o:    pbmtoascii.c
  177. pbmtoatk pbmtoatk.o:        pbmtoatk.c
  178. pbmtobbnbg pbmtobbnbg.o:    pbmtobbnbg.c
  179. pbmtocmuwm pbmtocmuwm.o:    pbmtocmuwm.c cmuwm.h
  180. pbmtoepson pbmtoepson.o:    pbmtoepson.c
  181. pbmtog3 pbmtog3.o:        pbmtog3.c g3.h
  182. pbmtogem pbmtogem.o:        pbmtogem.c
  183. pbmtogo pbmtogo.o:        pbmtogo.c
  184. pbmtoicon pbmtoicon.o:        pbmtoicon.c
  185. pbmtolj pbmtolj.o:        pbmtolj.c
  186. pbmtoln03 pbmtoln03.o:        pbmtoln03.c
  187. pbmtolps pbmtolps.o:        pbmtolps.c
  188. pbmtomacp pbmtomacp.o:        pbmtomacp.c macp.h
  189. pbmtomgr pbmtomgr.o:        pbmtomgr.c mgr.h
  190. pbmtopi3 pbmtopi3.o:        pbmtopi3.c
  191. pbmtopk pbmtopk.o:        pbmtopk.c
  192. pbmtoplot pbmtoplot.o:        pbmtoplot.c
  193. pbmtoptx pbmtoptx.o:        pbmtoptx.c
  194. pbmtox10bm pbmtox10bm.o:    pbmtox10bm.c
  195. pbmtoxbm pbmtoxbm.o:        pbmtoxbm.c
  196. pbmtoybm pbmtoybm.o:        pbmtoybm.c
  197. pbmtozinc pbmtozinc.o:        pbmtozinc.c
  198. pbmupc pbmupc.o:        pbmupc.c
  199. pi3topbm pi3topbm.o:        pi3topbm.c
  200. pktopbm pktopbm.o:        pktopbm.c
  201. xbmtopbm xbmtopbm.o:        xbmtopbm.c
  202. ybmtopbm ybmtopbm.o:        ybmtopbm.c
  203. pbmtoepsi pbmtoepsi.o:        pbmtoepsi.c
  204.  
  205. clean:
  206.     -rm -f *.o *.a *.cat *~ core $(BINARIES) pbmmerge
  207.