home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / g / makefile < prev    next >
Makefile  |  2020-01-01  |  3KB  |  135 lines

  1. # makefile for gkermit - works with make or gmake.
  2. #
  3. # Author:
  4. #   Frank da Cruz
  5. #   The Kermit Project, Columbia University
  6. #   http://www.columbia.edu/kermit/
  7. #   kermit@columbia.edu
  8. #   December 1999
  9. #
  10. # Main build targets:
  11. #   posix:     Build for any POSIX-based platform (default).
  12. #   sysv:      Build for any AT&T UNIX System V based platform.
  13. #   bsd:       Build for any UNIX V7 or 4.3 (or earlier) BSD based platform.
  14. #
  15. # Special build targets:
  16. #   sysvx      Like sysv but uses getchar()/putchar().
  17. #   stty       Uses system("stty blah") instead of API calls.
  18. #   bsd211     For 2.11BSD on the PDP-11 - no nested makes.
  19. #
  20. # Other targets:
  21. #   clean:     Remove object files
  22. #   install:   Install gkermit
  23. #   uninstall: Uninstall gkermit
  24. #
  25. # Default compiler is cc.  To force gcc use:
  26. #   make "CC=gcc" [ <target> ]
  27. #
  28. # See README and COPYING for further information.
  29.  
  30. # Sample installation values - change or override as needed.
  31.  
  32. BINDIR = /usr/local/bin
  33. MANDIR = /usr/man/manl
  34. TEXTDIR = /usr/local/doc
  35. INFODIR = /usr/local/info
  36. MANEXT = l
  37.  
  38. # Default compiler and flags
  39.  
  40. CC=cc
  41. CFLAGS= -DPOSIX -O $(KFLAGS)
  42.  
  43. # Object files
  44.  
  45. OBJECTS= gproto.o gkermit.o gunixio.o gcmdline.o
  46.  
  47. # Targets and dependencies
  48.  
  49. all:        gwart gkermit
  50.  
  51. gwart.o:    gwart.c
  52.         $(CC) $(CFLAGS) -c gwart.c
  53.  
  54. gwart:        gwart.o
  55.         $(CC) -o gwart gwart.o
  56.  
  57. .c.o:
  58.         $(CC) $(CFLAGS) -c $<
  59.  
  60. gproto.c:    gproto.w gkermit.h
  61.         ./gwart gproto.w gproto.c
  62.  
  63. gkermit.o:    gkermit.c gkermit.h
  64.  
  65. gunixio.o:    gunixio.c gkermit.h
  66.  
  67. gcmdline.o:    gcmdline.c gkermit.h
  68.  
  69. gkermit:    gproto.o gkermit.o gunixio.o gcmdline.o
  70.         $(CC) -o gkermit $(OBJECTS)
  71.  
  72. bsd:        gwart
  73.         $(MAKE) "CC=$(CC)" "CFLAGS=-DBSD -O $(KFLAGS)" gkermit
  74.  
  75. sysv:        gwart
  76.         $(MAKE) "CC=$(CC)" "CFLAGS=-DSYSV -O $(KFLAGS)" gkermit
  77.  
  78. posix:        gwart
  79.         $(MAKE) "CC=$(CC)" "CFLAGS=-DPOSIX -O $(KFLAGS)" gkermit
  80.  
  81. sysvx:        gwart
  82.         $(MAKE) "CC=$(CC)" \
  83.         "CFLAGS=-DSYSV -DUSE_GETCHAR -O $(KFLAGS)" gkermit
  84.  
  85. stty:        gwart
  86.         $(MAKE) "CC=$(CC)" "CFLAGS=$(KFLAGS)" gkermit
  87.  
  88. bsd211:        gwart
  89.         ./gwart gproto.w gproto.c
  90.         cc -DBSD $(KFLAGS) -c gkermit.c
  91.         cc -DBSD $(KFLAGS) -c gproto.c
  92.         cc -DBSD $(KFLAGS) -c gcmdline.c
  93.         cc -DBSD $(KFLAGS) -c gunixio.c
  94.         cc -o gkermit $(OBJECTS)
  95.  
  96. clean:
  97.         rm -f $(OBJECTS) gproto.o gproto.c gwart.o gwart
  98.  
  99. install:
  100.         @if test -f ./gkermit; then \
  101.             echo "Installing gkermit..." ; \
  102.         else \
  103.             echo "Please build the gkermit binary first." ; \
  104.             exit ; \
  105.         fi
  106.         @echo Copying gkermit to $(BINDIR)...
  107.         @cp gkermit $(BINDIR)/gkermit
  108.         @chmod 755 $(BINDIR)/gkermit
  109.         @ls -lg $(BINDIR)/gkermit
  110.         @if test -d $(TEXTDIR); then \
  111.             echo "$(TEXTDIR) exists..." ; \
  112.         else \
  113.             echo "Creating $(TEXTDIR)/..." ; \
  114.             mkdir $(TEXTDIR) ; \
  115.             chmod 755 $(TEXTDIR) ; \
  116.         fi
  117.         @echo Copying README to $(TEXTDIR)/gkermit.txt...
  118.         @cp README $(TEXTDIR)/gkermit.txt
  119.         @chmod 644 $(TEXTDIR)/gkermit.txt
  120.         @ls -lg $(TEXTDIR)/gkermit.txt
  121.         @echo Installing man page in $(MANDIR)/gkermit.$(MANEXT)...
  122.         @cp gkermit.nr $(MANDIR)/gkermit.$(MANEXT)
  123.         @chmod 644 $(MANDIR)/gkermit.$(MANEXT)
  124.         @ls -lg $(MANDIR)/gkermit.$(MANEXT)
  125.  
  126. uninstall:
  127.         @echo Uninstalling gkermit...
  128.         rm -f $(BINDIR)/gkermit \
  129.         $(TEXTDIR)/gkermit.txt \
  130.         $(MANDIR)gkermit.$(MANEXT)
  131.  
  132. .PHONY:        clean install uninstall
  133.  
  134. # (end)
  135.