|
|
1.1 ! root 1: # ! 2: # Copyright (c) 1988 Regents of the University of California. ! 3: # All rights reserved. ! 4: # ! 5: # Redistribution and use in source and binary forms are permitted ! 6: # provided that the above copyright notice and this paragraph are ! 7: # duplicated in all such forms and that any documentation, ! 8: # advertising materials, and other materials related to such ! 9: # distribution and use acknowledge that the software was developed ! 10: # by the University of California, Berkeley. The name of the ! 11: # University may not be used to endorse or promote products derived ! 12: # from this software without specific prior written permission. ! 13: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 14: # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 15: # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 16: # ! 17: # @(#)makefile 4.7 (Berkeley) 6/6/90 ! 18: # ! 19: ! 20: # Makefile for tn3270 and friends... ! 21: # ! 22: # This is the makefile for tn3270. Note that we use the 4.3+ telnet ! 23: # (compiled with special options; see below) to provide the telnet ! 24: # support we need. ! 25: # ! 26: # The following are the defines that may be passed (via the cc ! 27: # -D option) to the compiler. ! 28: # ! 29: # TN3270 - This is to be linked with tn3270. Necessary ! 30: # for creating tn3270. Only for compiling ! 31: # telnet. ! 32: # ! 33: # NOT43 - Allows the program to compile and run on ! 34: # a 4.2BSD system. ! 35: # ! 36: # PUTCHAR - Within tn3270, on a NOT43 system, ! 37: # allows the use of the 4.3 curses ! 38: # (greater speed updating the screen). ! 39: # You need the 4.3 curses for this to work. ! 40: # ! 41: # FD_SETSIZE - On whichever system, if this isn't defined, ! 42: # we patch over the FD_SET, etc., macros with ! 43: # some homebrewed ones. ! 44: # ! 45: # SO_OOBINLINE - This is a socket option which we would like ! 46: # to set to allow TCP urgent data to come ! 47: # to us "inline". This is NECESSARY for ! 48: # CORRECT operation, and desireable for ! 49: # simpler operation. ! 50: # ! 51: # LNOFLSH - Detects the presence of the LNOFLSH bit ! 52: # in the tty structure. ! 53: # ! 54: # ! 55: # ! 56: # TERMCAP - Define this if your system is termcap based, ! 57: # otherwise a terminfo based system is assumed. ! 58: # ! 59: # SRCRT - Includes code to allow you to specify ! 60: # source routes. ! 61: # Format is: ! 62: # [!]@hop1@hop2...[@|:]dst ! 63: # Leading ! means strict source route. ! 64: # ! 65: # NOSTRNCASECMP - Define this if you do not have strncasecmp() in ! 66: # your C libarary. ! 67: # ! 68: # USE_TERMIO - Define this if you have System V termio ! 69: # structures. What is here is how things ! 70: # are on Cray computers. ! 71: # ! 72: # KLUDGELINEMODE - Define this to get the kludged up version ! 73: # of linemode that was in 4.3BSD. This is a ! 74: # good thing to have around for talking to ! 75: # older systems. ! 76: # ! 77: # ! 78: # Here are some which are used throughout the system: ! 79: # ! 80: # unix - Compiles in unix specific stuff. ! 81: # ! 82: # msdos - Compiles in msdos specific stuff. ! 83: # ! 84: ! 85: # msdos versus unix defines ! 86: O = .o ! 87: #PC_O = .obj ! 88: ! 89: X = ! 90: #PC_X = .exe ! 91: ! 92: L = ! 93: #PC_L = -link ! 94: ! 95: CC = cc ! 96: #PC_CC = cl ! 97: ! 98: MV = mv ! 99: #PC_MV = rename ! 100: ! 101: RM = rm -f ! 102: #PC_RM= erase ! 103: ! 104: LINT_ARGS = ! 105: #PC_LINT_ARGS = -DLINT_ARGS ! 106: ! 107: DEBUG_FLAGS = -g ! 108: #PC_DEBUG_FLAGS = -Zi -Od ! 109: ! 110: AR = ar ! 111: AR1 = cr ! 112: AR2 = ! 113: AR3 = ! 114: #PC_AR = lib ! 115: #PC_AR1 = ! 116: #PC_AR2 = + ! 117: #PC_AR3 = ";" ! 118: ! 119: RANLIB = ranlib ! 120: #PC_RANLIB = echo "Done with " ! 121: ! 122: ! 123: PRINT = print ! 124: ACTION = @sccs tell ! 125: ! 126: DEFINES= ${LINT_ARGS} -DTERMCAP -DSRCRT -DKLUDGELINEMODE -DUSE_TERMIO ! 127: ! 128: INCLUDES = -I. -I.. ! 129: ! 130: OPTIMIZE = -O ! 131: OPTIMIZE = ${DEBUG_FLAGS} ! 132: ! 133: CFLAGS = $(OPTIMIZE) $(INCLUDES) $(DEFINES) ! 134: ! 135: # Lint flags ! 136: LINTFLAGS = -hbxaz ! 137: # How to install the bloody thing... ! 138: ! 139: DESTDIR= ! 140: ! 141: BINDIR = $(DESTDIR)/usr/bin ! 142: MAN1DIR = $(DESTDIR)/usr/man/cat1 ! 143: MAN5DIR = $(DESTDIR)/usr/man/cat5 ! 144: ! 145: # Names for the terminal libraries... ! 146: LIBCURSES = -lcurses ! 147: LIBTERM = -ltermlib ! 148: ! 149: #PC_LIBCURSES = ! 150: #PC_LIBTERM = ! 151: ! 152: # The source files... ! 153: ALLH = telextrn.h ! 154: ! 155: MSMAIN = ${.CURDIR}/ascii/mset.c ! 156: ! 157: ALLC = ! 158: ! 159: ALLO = mset$O ! 160: ! 161: ALLHC= ${ALLH} ${ALLC} ! 162: ALLPRINT = ${ALLHC} ! 163: ! 164: ALLSOURCE = ${ALLPRINT} makefile makefile.mak makefile_4.2 README \ ! 165: mset.1 tn3270.1 map3270.5 ! 166: ! 167: SYS = sys_curses ! 168: #PC_SYS = sys_dos ! 169: ! 170: # The places where the various components live... ! 171: ! 172: SUBDIR = ${.CURDIR}/api ${.CURDIR}/ascii ${.CURDIR}/ctlr \ ! 173: ${.CURDIR}/general ${.CURDIR}/${SYS} ${.CURDIR}/telnet ! 174: ! 175: # The following are directories we don't do regular make's in, but ! 176: # we do make everywhere, print, and sourcelist in. ! 177: ! 178: EXTRADIR = ${.CURDIR}/tools ! 179: ! 180: # The libraries we use. The order here is important. ! 181: # syslib.a and ctlrlib.a should come first, then the rest. ! 182: SUBLIB = ${SYS}/syslib.a ctlr/ctlrlib.a \ ! 183: ascii/asciilib.a general/generallib.a ! 184: ! 185: .s.o: ! 186: /lib/cpp -E $< | as -o $@ ! 187: ! 188: #.c.obj: ! 189: # ${CC} ${CFLAGS} -c $< ! 190: ! 191: all: FRC tn3270$X mset$X ! 192: ! 193: FRC: ! 194: for i in ${SUBDIR}; \ ! 195: do (cd $$i; make ${MFLAGS} "CFLAGS=${CFLAGS}"); done ! 196: ! 197: tn3270$X: telnet/telprog.o ${SUBLIB} api/apilib.a ! 198: ${CC} ${CFLAGS} -o tn3270 telnet/telprog.o \ ! 199: $L ${SUBLIB} api/apilib.a $(LIBCURSES) $(LIBTERM) \ ! 200: -lcompat ! 201: ! 202: #PC_tn3270$X: ! 203: #PC_ link <@< ! 204: #PC_ telnet ! 205: #PC_ tn3270 ! 206: #PC_ nul ! 207: #PC_ ${SUBLIB} api/apilib.a+ ! 208: #PC_ \lib\ublib\ubtcp ! 209: #PC_ _PC_< ! 210: ! 211: mset$X: mset$O ascii/map3270$O ! 212: ${CC} ${CFLAGS} -o mset mset$O ascii/map3270$O $L api/apilib.a ! 213: ! 214: mset$O: $(MSMAIN) ! 215: $(CC) $(CFLAGS) -c $(MSMAIN) ! 216: ! 217: install: tn3270$X mset$X tn3270.0 mset.0 map3270.0 ! 218: install -m 755 -o bin -g bin -s tn3270 $(BINDIR) ! 219: install -m 755 -o bin -g bin -s mset $(BINDIR) ! 220: install -c -o bin -g bin -m 444 tn3270.0 mset.0 $(MAN1DIR) ! 221: install -c -o bin -g bin -m 444 map3270.0 $(MAN5DIR) ! 222: ! 223: action: ! 224: ${ACTION} ! 225: ! 226: clist: ${ALLHC} ! 227: @for i in ${SUBDIR}; \ ! 228: do (cd $$i; make ${MFLAGS} "DIRPATH=${DIRPATH}$$i/" \ ! 229: clist); done ! 230: ! 231: hclist: ${ALLHC} ! 232: @for i in ${SUBDIR}; \ ! 233: do (cd $$i; make ${MFLAGS} "DIRPATH=${DIRPATH}$$i/" \ ! 234: hclist); done ! 235: ! 236: everywhere: action ! 237: for i in ${SUBDIR} ${EXTRADIR}; \ ! 238: do (echo "[$$i]"; cd $$i; make ${MFLAGS} action \ ! 239: "ACTION=${ACTION}"); done ! 240: ! 241: cleandir clean: ! 242: for i in $(ALLO) mset tn3270 errs makefile.bak; \ ! 243: do (${RM} $$i); done ! 244: for i in ${SUBDIR} ${EXTRADIR}; \ ! 245: do (cd $$i; make ${MFLAGS} clean); done ! 246: ! 247: sccsclean: ! 248: -sccs clean ! 249: -sccs get makefile ! 250: for i in ${SUBDIR} ${EXTRADIR}; \ ! 251: do (cd $$i; make ${MFLAGS} sccsclean); done ! 252: ! 253: print: ! 254: ${PRINT} ${ALLPRINT} ! 255: for i in ${SUBDIR} ${EXTRADIR}; \ ! 256: do (cd $$i; make ${MFLAGS} "PRINT=${PRINT}" print); done ! 257: ! 258: tags: ${ALLC} ${ALLH} ! 259: ctags -t `make ${MFLAGS} hclist` ! 260: ! 261: sourcelist: ${ALLSOURCE} ! 262: @for i in ${ALLSOURCE}; \ ! 263: do (echo ${DIRPATH}$$i); done ! 264: @for i in ${SUBDIR} ${EXTRADIR}; \ ! 265: do (cd $$i; make ${MFLAGS} "DIRPATH=${DIRPATH}$$i/" \ ! 266: sourcelist); done ! 267: ! 268: lint: ! 269: lint ${LINTFLAGS} -Itelnet ${INCLUDES} ${DEFINES} -DTN3270 \ ! 270: `make clist` -lcurses ! 271: ! 272: lintmset: ! 273: lint ${LINTFLAGS} ${INCLUDES} ${DEFINES} ${MSMAIN} \ ! 274: ascii/map3270.c -lcurses ! 275: ! 276: makefiles.pc: tools/mkmake ! 277: for i in . ${SUBDIR} ${EXTRADIR}; \ ! 278: do (sed -e "s/lib\.a/.lib/g" -e "s/^#PC_//" < $$i/makefile | \ ! 279: ./tools/mkmake | \ ! 280: sed -e "sx/x\\\\xg" -e "s/[ ]*_PC_//" > $$i/makefile.mak); \ ! 281: done ! 282: ! 283: tools/mkmake: ! 284: (cd tools; make mkmake) ! 285: ! 286: .DEFAULT: ! 287: sccs get $< ! 288: ! 289: depend: thisdepend ! 290: for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} depend); done ! 291: ! 292: thisdepend: ! 293: echo > eddep.c ! 294: grep '^#include' ${ALLC} eddep.c | grep -v '<' | \ ! 295: sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ ! 296: -e 's/\.c/$$O/' | \ ! 297: awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ ! 298: else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ ! 299: else rec = rec " " $$2 } } \ ! 300: END { print rec } ' > makedep ! 301: echo '$$r makedep' >>eddep ! 302: echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep ! 303: echo '$$r makedep' >>eddep ! 304: echo 'w' >>eddep ! 305: -rm -f makefile.bak ! 306: cp makefile makefile.bak ! 307: ed - makefile < eddep ! 308: rm eddep makedep eddep.c ! 309: ! 310: # DO NOT DELETE THIS LINE ! 311:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.