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 32BINDIR = /usr/local/bin 33MANDIR = /usr/man/manl 34TEXTDIR = /usr/local/doc 35INFODIR = /usr/local/info 36MANEXT = l 37 38# Default compiler and flags 39 40#CC=cc 41#CFLAGS= -DPOSIX -O $(KFLAGS) 42DEFS=-DPOSIX 43CFLAGS+= $(DEFS) 44 45# Object files 46 47OBJECTS= gproto.o gkermit.o gunixio.o gcmdline.o 48 49# Targets and dependencies 50 51all: gwart gkermit 52 53gwart.o: gwart.c 54 $(CC) $(CFLAGS) -c gwart.c 55 56gwart: gwart.o 57 $(CC) -o gwart gwart.o 58 59.c.o: 60 $(CC) $(CFLAGS) -c $< 61 62gproto.c: gproto.w gkermit.h 63 ./gwart gproto.w gproto.c 64 65gkermit.o: gkermit.c gkermit.h 66 67gunixio.o: gunixio.c gkermit.h 68 69gcmdline.o: gcmdline.c gkermit.h 70 71gkermit: gproto.o gkermit.o gunixio.o gcmdline.o 72 $(CC) -o gkermit $(OBJECTS) 73 74bsd: gwart 75 $(MAKE) "CC=$(CC)" "DEFS=-DBSD $(KFLAGS)" gkermit 76 77sysv: gwart 78 $(MAKE) "CC=$(CC)" "DEFS=-DSYSV $(KFLAGS)" gkermit 79 80posix: gwart 81 $(MAKE) "CC=$(CC)" "DEFS=-DPOSIX $(KFLAGS)" gkermit 82 83sysvx: gwart 84 $(MAKE) "CC=$(CC)" \ 85 "CFLAGS=-DSYSV -DUSE_GETCHAR -O $(KFLAGS)" gkermit 86 87stty: gwart 88 $(MAKE) "CC=$(CC)" "CFLAGS=$(KFLAGS)" gkermit 89 90bsd211: gwart 91 ./gwart gproto.w gproto.c 92 cc -DBSD $(KFLAGS) -c gkermit.c 93 cc -DBSD $(KFLAGS) -c gproto.c 94 cc -DBSD $(KFLAGS) -c gcmdline.c 95 cc -DBSD $(KFLAGS) -c gunixio.c 96 cc -o gkermit $(OBJECTS) 97 98clean: 99 rm -f $(OBJECTS) gproto.o gproto.c gwart.o gwart 100 101install: 102 @if test -f ./gkermit; then \ 103 echo "Installing gkermit..." ; \ 104 else \ 105 echo "Please build the gkermit binary first." ; \ 106 exit ; \ 107 fi 108 @echo Copying gkermit to $(BINDIR)... 109 @cp gkermit $(BINDIR)/gkermit 110 @chmod 755 $(BINDIR)/gkermit 111 @ls -lg $(BINDIR)/gkermit 112 @if test -d $(TEXTDIR); then \ 113 echo "$(TEXTDIR) exists..." ; \ 114 else \ 115 echo "Creating $(TEXTDIR)/..." ; \ 116 mkdir $(TEXTDIR) ; \ 117 chmod 755 $(TEXTDIR) ; \ 118 fi 119 @echo Copying README to $(TEXTDIR)/gkermit.txt... 120 @cp README $(TEXTDIR)/gkermit.txt 121 @chmod 644 $(TEXTDIR)/gkermit.txt 122 @ls -lg $(TEXTDIR)/gkermit.txt 123 @echo Installing man page in $(MANDIR)/gkermit.$(MANEXT)... 124 @cp gkermit.nr $(MANDIR)/gkermit.$(MANEXT) 125 @chmod 644 $(MANDIR)/gkermit.$(MANEXT) 126 @ls -lg $(MANDIR)/gkermit.$(MANEXT) 127 128uninstall: 129 @echo Uninstalling gkermit... 130 rm -f $(BINDIR)/gkermit \ 131 $(TEXTDIR)/gkermit.txt \ 132 $(MANDIR)gkermit.$(MANEXT) 133 134.PHONY: clean install uninstall 135 136# (end) 137