home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume26 / hp2pbm / part02 / Makefile < prev    next >
Encoding:
Makefile  |  1991-12-11  |  2.4 KB  |  103 lines

  1. # Makefile for hptopbm standalone release 1.2 91/12/03
  2.  
  3. #    Configuration:
  4.  
  5. #    Set to your C compiler:
  6. CC    = cc
  7. #    Where you want the auxiliary files (eg: fonts) to go
  8. LIBDIR    = /usr/local/lib
  9. #    Where you want the programs to go
  10. BINDIR    = /usr/local/bin
  11. #    Compilation flags.  Including strip (-s) if desired
  12. #    Add -DBSD if BSD or V7.
  13. #    Add -DNOMEM if you don't have memcpy and memset.
  14. CCFLAGS    = -O
  15. #    Page size (LETTER, LEGAL, B5, A4)
  16. PAGE    = A4
  17. #    Extra libraries if necessary.  -lc_s for shared libraries on 386ix
  18. LIBFLAGS =
  19. #    Directory to put the manual page in
  20. MANDIR    = /usr/man/l_man
  21. #    Manual page suffix.  Usually 1 or L
  22. MANEXT    = 1
  23.  
  24. #    Dinna touch from here on.
  25.  
  26. SHELL =        /bin/sh
  27. CFLAGS    =    $(CCFLAGS) -D'LIBDIR="$(LIBDIR)"' -D$(PAGE) -DPS
  28.  
  29. LIBFILES =    cour.sfp lp.sfp \
  30.         hppat1 hppat2 hppat3 hppat4 hppat5 hppat6 \
  31.         hprast1 hprast2 hprast3 hprast4 hprast5 hprast6 hprast7 hprast8
  32.  
  33. ALTNAMES    = p2hifax hp2lofax hp2sun hp2e24
  34.  
  35. .SUFFIXES:    .S~ .S
  36.  
  37. all:    README hp2pbm pbm2e24 hp2pbm.m $(LIBFILES)
  38.  
  39. # programs
  40. hp2pbm:    hpp.o hpfntwrite.o mem.o
  41.         $(CC) $(CFLAGS) -o hp2pbm hpp.o hpfntwrite.o mem.o $(LIBFLAGS)
  42.  
  43. hp2pbm.m:    hp2pbm.S Makefile
  44.         sed -e 's;%%LIBDIR%%;$(LIBDIR);' \
  45.             -e 's;%%MANEXT%%;$(MANEXT);' \
  46.             hp2pbm.S > hp2pbm.m
  47.  
  48. .S~:
  49.         @rm -f $@
  50.         $(GET) -p $(GFLAGS) $< > $@
  51.         @chmod 444 $@
  52.  
  53. .S~.S:
  54.         @rm -f $@
  55.         $(GET) -p $(GFLAGS) $< > $@
  56.         @chmod 444 $@
  57.  
  58. .S:
  59.         rm -f $@
  60.         cat $@.S > $@
  61.         @chmod 444 $@
  62.  
  63. # components
  64. mem.o:        mem.c
  65.         $(CC) -c $(CFLAGS) mem.c
  66.  
  67. hpp.o:        hptopbm.h hpp.c
  68.         $(CC) -c $(CFLAGS) hpp.c
  69.  
  70. hpfntwrite.o:    hptopbm.h hpfntwrite.c
  71.         $(CC) -c $(CFLAGS) hpfntwrite.c
  72.  
  73. pbm2e24:    pbm2e24.o mem.o
  74.         $(CC) $(CFLAGS) -o pbm2e24 pbm2e24.o mem.o $(LIBFLAGS)
  75.  
  76. clean:
  77.         rm -f hp2pbm pbm2e24 hp2pbm.m *.o myuid $(LIBFILES)
  78.  
  79. $(LIBFILES):
  80.         uudecode < $@.UU
  81.  
  82. myuid:
  83.         echo 'main() { printf("%d%c", getuid(), 10); exit(0); }' > myuid.c
  84.         $(CC) -o myuid myuid.c
  85.         rm -f myuid.c
  86.  
  87. install:    hp2pbm myuid
  88.         test "`./myuid`" = 0 || \
  89.             ( echo "ERROR: You must be root to install" ; exit 1 )
  90.         test -d $(BINDIR) || mkdir $(BINDIR)
  91.         test -d $(LIBDIR) || mkdir $(LIBDIR)
  92.         test -d $(LIBDIR)/BITMAPS || mkdir $(LIBDIR)/BITMAPS
  93.         cd $(BINDIR) ; rm -f hp2pbm $(ALTNAMES)
  94.         cp hp2pbm $(BINDIR)/hp2pbm
  95.         $(IGNORESH) cd $(BINDIR) ; \
  96.         for i in $(ALTNAMES) ; \
  97.         do \
  98.             ln hp2pbm $$i ; \
  99.         done
  100.         cd $(LIBDIR)/BITMAPS ; rm -f $(LIBFILES)
  101.         cp $(LIBFILES) $(LIBDIR)/BITMAPS
  102.         -cp hp2pbm.m $(MANDIR)/hp2pbm.$(MANEXT)
  103.