Annotation of 43BSDReno/usr.bin/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 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: 

unix.superglobalmegacorp.com

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