Annotation of 43BSDTahoe/ucb/tn3270/makefile, revision 1.1.1.1

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 this notice is preserved and that due credit is given
                      7: # to the University of California at Berkeley. The name of the University
                      8: # may not be used to endorse or promote products derived from this
                      9: # software without specific prior written permission. This software
                     10: # is provided ``as is'' without express or implied warranty.
                     11: #
                     12: #      @(#)makefile    3.3 (Berkeley) 3/28/88
                     13: #
                     14: # Makefile for tn3270 and friends...
                     15: #
                     16: #      This is the makefile for tn3270.  Note that we use ../telnet.c
                     17: # (compiled with special options; see below) to provide the telnet
                     18: # support we need.
                     19: #
                     20: #      The following are the defines that may be passed (via the cc
                     21: # -D option) to the compiler.
                     22: #
                     23: #      The first group relate only to ../telnet.c:
                     24: #
                     25: #      TN3270          -       This is to be linked with tn3270.  Necessary
                     26: #                              for creating tn3270.
                     27: #
                     28: #      NOT43           -       Allows the program to compile and run on
                     29: #                              a 4.2BSD system.
                     30: #
                     31: #      PUTCHAR         -       Within tn3270, on a NOT43 system,
                     32: #                              allows the use of the 4.3 curses
                     33: #                              (greater speed updating the screen).
                     34: #                              You need the 4.3 curses for this to work.
                     35: #
                     36: #      FD_SETSIZE      -       On whichever system, if this isn't defined,
                     37: #                              we patch over the FD_SET, etc., macros with
                     38: #                              some homebrewed ones.
                     39: #
                     40: #      SO_OOBINLINE    -       This is a socket option which we would like
                     41: #                              to set to allow TCP urgent data to come
                     42: #                              to us "inline".  This is NECESSARY for
                     43: #                              CORRECT operation, and desireable for
                     44: #                              simpler operation.
                     45: #
                     46: #      LNOFLSH         -       Detects the presence of the LNOFLSH bit
                     47: #                              in the tty structure.
                     48: #
                     49: #
                     50: #      Here are some which are used throughout the system:
                     51: #
                     52: #      unix            -       Compiles in unix specific stuff.
                     53: #
                     54: #      msdos           -       Compiles in msdos specific stuff.
                     55: #
                     56: 
                     57: # msdos versus unix defines
                     58: O      = .o
                     59: #PC_O  = .obj
                     60: 
                     61: X      =
                     62: #PC_X  = .exe
                     63: 
                     64: L      =
                     65: #PC_L  = -link
                     66: 
                     67: CC     = cc
                     68: #PC_CC = cl
                     69: 
                     70: MV     = mv
                     71: #PC_MV = rename
                     72: 
                     73: RM     = rm -f
                     74: #PC_RM= erase
                     75: 
                     76: LINT_ARGS =
                     77: #PC_LINT_ARGS = -DLINT_ARGS
                     78: 
                     79: DEBUG_FLAGS = -g
                     80: #PC_DEBUG_FLAGS = -Zi -Od
                     81: 
                     82: AR     = ar
                     83: AR1    = cr
                     84: AR2    =
                     85: AR3    =
                     86: #PC_AR = lib
                     87: #PC_AR1        =
                     88: #PC_AR2        = +
                     89: #PC_AR3        = ";"
                     90: 
                     91: RANLIB = ranlib
                     92: #PC_RANLIB = echo "Done with "
                     93: 
                     94: 
                     95: PRINT  = print
                     96: ACTION = sccs tell
                     97: 
                     98: DEFINES = ${LINT_ARGS}
                     99: 
                    100: INCLUDES = -I. -I..
                    101: 
                    102: OPTIMIZE = -O
                    103: OPTIMIZE = ${DEBUG_FLAGS}
                    104: 
                    105: CFLAGS = $(OPTIMIZE) $(INCLUDES) $(DEFINES)
                    106: 
                    107: # Lint flags
                    108: LINTFLAGS      = -hbxaz
                    109: # How to install the bloody thing...
                    110: 
                    111: DESTDIR=
                    112: 
                    113: BINDIR         = $(DESTDIR)/usr/ucb
                    114: 
                    115: # Names for the terminal libraries...
                    116: LIBCURSES      = -lcurses
                    117: LIBTERM                = -ltermlib
                    118: 
                    119: #PC_LIBCURSES  =
                    120: #PC_LIBTERM    =
                    121: 
                    122: # The source files...
                    123: ALLH = telnet.ext
                    124: 
                    125: TNMAIN = ../telnet.c
                    126: TNMAIN = telnet.c
                    127: MSMAIN = ascii/mset.c
                    128: 
                    129: ALLC = ${TNMAIN}
                    130: 
                    131: ALLO   = telnet$O mset$O
                    132: 
                    133: ALLPRINT =     ${ALLH} ${ALLC}
                    134: 
                    135: ALLSOURCE =    ${ALLPRINT} makefile makefile.mak makefile_4.2 README
                    136: 
                    137: SYS    = sys_curses
                    138: #PC_SYS        = sys_dos
                    139: 
                    140: # The places where the various components live...
                    141: 
                    142: SUBDIR =       api ascii ctlr general ${SYS}
                    143: 
                    144: # The following are directories we don't do regular make's in, but
                    145: # we do make everywhere, print, and sourcelist in.
                    146: 
                    147: EXTRADIR =     arpa sys_dos tools utilities
                    148: 
                    149: # The libraries we use.  The order here is important.
                    150: # syslib.a and ctlrlib.a should come first, then the rest.
                    151: SUBLIB =       ${SYS}/syslib.a ctlr/ctlrlib.a \
                    152:                ascii/asciilib.a general/generallib.a
                    153: 
                    154: .s.o:
                    155:        /lib/cpp -E $< | as -o $@
                    156: 
                    157: .c.obj:
                    158:        ${CC} ${CFLAGS} -c $<
                    159: 
                    160: all:   FRC tn3270$X mset$X
                    161: 
                    162: FRC:
                    163:        for i in ${SUBDIR}; \
                    164:                do (cd $$i; make ${MFLAGS} "CFLAGS=${CFLAGS}"); done
                    165: 
                    166: tn3270$X:      telnet$O ${SUBLIB} api/apilib.a
                    167:        ${CC} ${CFLAGS} -o tn3270 telnet$O \
                    168:                $L ${SUBLIB} api/apilib.a $(LIBCURSES) $(LIBTERM)
                    169: 
                    170: #PC_tn3270$X:
                    171: #PC_   link <@<
                    172: #PC_   telnet
                    173: #PC_   tn3270
                    174: #PC_   nul
                    175: #PC_   ${SUBLIB} api/apilib.a+
                    176: #PC_   \lib\ublib\ubtcp
                    177: #PC_   _PC_<
                    178: 
                    179: mset$X:        mset$O ascii/map3270$O
                    180:        ${CC} ${CFLAGS} -o mset mset$O ascii/map3270$O $L api/apilib.a
                    181: 
                    182: telnet$O:      $(TNMAIN)
                    183:        $(CC) $(CFLAGS) -DTN3270 -c $(TNMAIN)
                    184: 
                    185: mset$O:        $(MSMAIN)
                    186:        $(CC) $(CFLAGS) -c $(MSMAIN)
                    187: 
                    188: install:       tn3270$X mset$X
                    189:        install -m 755 -o bin -g bin -s tn3270 $(BINDIR)
                    190:        install -m 755 -o bin -g bin -s mset $(BINDIR)
                    191: 
                    192: action:
                    193:        ${ACTION}
                    194: 
                    195: everywhere:    action
                    196:        for i in ${SUBDIR} ${EXTRADIR}; \
                    197:                do (echo "[$$i]"; cd $$i; make ${MFLAGS} action \
                    198:                                                "ACTION=${ACTION}"); done
                    199: 
                    200: clean:
                    201:        for i in $(ALLO) mset tn3270 errs makefile.bak; \
                    202:                        do (${RM} $$i); done
                    203:        for i in ${SUBDIR} ${EXTRADIR}; \
                    204:                        do (cd $$i; make ${MFLAGS} clean); done
                    205: 
                    206: sccsclean:
                    207:        -sccs clean
                    208:        -sccs get makefile
                    209:        for i in ${SUBDIR} ${EXTRADIR}; \
                    210:                        do (cd $$i; make ${MFLAGS} sccsclean); done
                    211: 
                    212: print:
                    213:        ${PRINT} ${ALLPRINT}
                    214:        for i in ${SUBDIR} ${EXTRADIR}; \
                    215:                        do (cd $$i; make ${MFLAGS} "PRINT=${PRINT}" print); done
                    216: 
                    217: tags:  ${ALLC} ${ALLH}
                    218:        ctags -t ${ALLC} ${ALLH}
                    219: 
                    220: sourcelist:    ${ALLSOURCE}
                    221:        @for i in ${ALLSOURCE}; \
                    222:                do (echo ${DIRPATH}$$i); done
                    223:        @for i in ${SUBDIR} ${EXTRADIR}; \
                    224:                do (cd $$i; make ${MFLAGS} "DIRPATH=${DIRPATH}$$i/" \
                    225:                                                            sourcelist); done
                    226: 
                    227: lint:
                    228:        lint ${LINTFLAGS} ${INCLUDES} ${DEFINES} -DTN3270 \
                    229:                                ${TNMAIN} -lcurses
                    230:        lint ${LINTFLAGS} ${INCLUDES} ${DEFINES} ${MSMAIN} map3270.c -lcurses
                    231: 
                    232: makefiles.pc:  tools/mkmake
                    233:        for i in . ${SUBDIR} ${EXTRADIR}; \
                    234:        do (sed -e "s/lib\.a/.lib/g" -e "s/^#PC_//" < $$i/makefile | \
                    235:                ./tools/mkmake | \
                    236:                sed -e "sx/x\\\\xg" -e "s/[     ]*_PC_//" > $$i/makefile.mak); \
                    237:            done
                    238: 
                    239: tools/mkmake:
                    240:        (cd tools; make mkmake)
                    241: 
                    242: .DEFAULT:
                    243:        sccs get $<
                    244: 
                    245: depend:        thisdepend
                    246:        for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} depend); done
                    247: 
                    248: thisdepend:
                    249:        echo > eddep.c
                    250:        grep '^#include' ${ALLC} eddep.c | grep -v '<' | \
                    251:        sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
                    252:            -e 's/\.c/$$O/' | \
                    253:        awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
                    254:                else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
                    255:                       else rec = rec " " $$2 } } \
                    256:              END { print rec } ' > makedep
                    257:        echo '$$r makedep' >>eddep
                    258:        echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
                    259:        echo '$$r makedep' >>eddep
                    260:        echo 'w' >>eddep
                    261:        -rm -f makefile.bak
                    262:        cp makefile makefile.bak
                    263:        ed - makefile < eddep
                    264:        rm eddep makedep eddep.c
                    265: 
                    266: # DO NOT DELETE THIS LINE
                    267: 
                    268: telnet$O: ascii/termin.ext ctlr/screen.h ctlr/oia.h ctlr/options.ext
                    269: telnet$O: ctlr/outbound.ext general/globals.h telnet.ext general/general.h

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.