1 # Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved.
   2 #
   3 #       Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T
   4 #         All Rights Reserved
   5 #
   6 # Copyright (c) 1980 Regents of the University of California.
   7 # All rights reserved.  The Berkeley Software License Agreement
   8 # specifies the terms and conditions for redistribution.
   9 #
  10 # Copyright (c) 2018, Joyent, Inc.
  11 #
  12 # C Shell with process control; VM/UNIX VAX Makefile
  13 # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
  14 #
  15 
  16 CSH_PROG =      csh
  17 PROG =          $(CSH_PROG)
  18 
  19 include ../../Makefile.cmd
  20 
  21 MBCHAR  = -DMBCHAR      # Define this line to include multibyte input support
  22 DEFS    =  -DVFORK -DFILEC -DBSD_COMP -DFIVE    # No TELL when MBCHAR
  23 CPPFLAGS= -I. $(DEFS) $(MBCHAR) $(CPPFLAGS.master)
  24 CPPFLAGS +=     -I../../sh
  25 CPPFLAGS += -D_FILE_OFFSET_BITS=64
  26 LDLIBS += -lcurses
  27 
  28 CERRWARN += -_gcc=-Wno-implicit-function-declaration
  29 CERRWARN += $(CNOWARN_UNINIT)
  30 CERRWARN += -_gcc=-Wno-parentheses
  31 CERRWARN += -_gcc=-Wno-implicit-int
  32 CERRWARN += -_gcc=-Wno-unused-function
  33 CERRWARN += -_gcc=-Wno-unused-variable
  34 CERRWARN += -_gcc=-Wno-clobbered
  35 CERRWARN += -_gcc=-Wno-unused-label
  36 CERRWARN += -_gcc=-Wno-extra
  37 
  38 # "missing type for func"
  39 SMATCH=off
  40 
  41 MAPFILES =      ../mapfile-intf $(MAPFILE.NGB)
  42 LDFLAGS +=      $(MAPFILES:%=-M%)
  43 
  44 HDDEP = sh.o sh.dir.o sh.dol.o sh.err.o sh.exec.o sh.exp.o sh.file.o \
  45         sh.func.o sh.glob.o sh.hist.o sh.init.o sh.lex.o sh.misc.o \
  46         sh.parse.o sh.proc.o sh.sem.o sh.set.o sh.time.o
  47 
  48 COMMONOBJS=     printf.o sh.char.o sh.dir.o sh.dol.o sh.err.o \
  49         sh.exec.o sh.exp.o sh.file.o sh.func.o sh.glob.o sh.hist.o sh.init.o \
  50         sh.lex.o sh.misc.o sh.parse.o sh.print.o sh.proc.o sh.sem.o sh.set.o \
  51         sh.time.o sh.tchar.o sh.tconst.o sh.o \
  52         wait3.o
  53 
  54 LOCALOBJS= signal.o
  55 
  56 COMMONSRCS=     $(COMMONOBJS:%.o=../%.c)
  57 
  58 .KEEP_STATE:
  59 
  60 .PARALLEL: $(COMMONOBJS) $(LOCALOBJS)
  61 
  62 all: $(PROG)
  63 
  64 # build rule for common source above
  65 %.o:    ../%.c
  66         $(COMPILE.c) $<
  67         $(POST_PROCESS_O)
  68 
  69 %.o:    ../../sh/%.c
  70         $(COMPILE.c) $<
  71         $(POST_PROCESS_O)
  72 
  73 $(CSH_PROG): $(COMMONOBJS) $(LOCALOBJS) $(MAPFILES)
  74         $(LINK.c) $(COMMONOBJS) $(LOCALOBJS) -o $@ $(LDLIBS)
  75         $(POST_PROCESS)
  76 
  77 $(HDDEP): ../sh.tconst.h
  78 
  79 install: all $(ROOTBINPROG)  $(ROOTPROG)
  80 
  81 lint:   ../sh.tconst.h
  82         $(LINT.c) $(COMMONSRCS) signal.c $(LDLIBS)
  83 
  84 clean:
  85         $(RM) $(LOCALOBJS) $(COMMONOBJS)
  86 
  87 clobber:        clean
  88         $(RM)  $(PROG)