1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License, Version 1.0 only
   6 # (the "License").  You may not use this file except in compliance
   7 # with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 #
  23 #
  24 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  25 # Use is subject to license terms.
  26 #
  27 # Copyright 2020 Joyent, Inc.
  28 
  29 # NOTE: awk is now nawk.
  30 
  31 PROG= nawk
  32 LINKPROG= awk
  33 
  34 OBJ1= b.o lib.o main.o parse.o proctab.o run.o tran.o lex.o
  35 OBJ2= awk.g.o
  36 OBJS= $(OBJ2) $(OBJ1)
  37 SRCS= $(OBJ1:%.o=%.c)
  38 
  39 include ../Makefile.cmd
  40 
  41 ROOTLINK =      $(LINKPROG:%=$(ROOTBIN)/%)
  42 
  43 CERRWARN += -_gcc=-Wno-unused-label
  44 CERRWARN += -_gcc=-Wno-parentheses
  45 CERRWARN += -_gcc=-Wno-unused-variable
  46 CERRWARN += $(CNOWARN_UNINIT)
  47 
  48 # not linted
  49 SMATCH=off
  50 
  51 #
  52 # Message catalog
  53 #
  54 POFILES= $(OBJS:%.o=%.po)
  55 POFILE= awk.po
  56 XGETFLAGS += -a -x awk.xcl
  57 #
  58 
  59 CPPFLAGS += -D_FILE_OFFSET_BITS=64
  60 YFLAGS += -d
  61 LDLIBS += -lm -lumem
  62 LINTFLAGS += -u
  63 CLEANFILES= maketab proctab.c awk.g.c y.tab.h
  64 
  65 .KEEP_STATE:
  66 
  67 all: $(PROG) $(ROOTLINK)
  68 
  69 $(PROG): $(OBJS)
  70         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  71         $(POST_PROCESS)
  72 
  73 $(ROOTLINK):    $(ROOTPROG)
  74         $(RM) $@; $(LN) $(ROOTPROG) $@
  75 
  76 #
  77 # message catalog
  78 #
  79 
  80 $(POFILE):  y.tab.h $(POFILES)
  81         $(RM) $@
  82         cat $(POFILES) > $@
  83 #
  84 
  85 proctab.c: maketab
  86         rm -f $@; ./maketab > $@
  87 
  88 maketab: maketab.c
  89         $(NATIVECC) $(NATIVE_CFLAGS) maketab.c -o $@ $(LDLIBS)
  90 
  91 install: all $(ROOTPROG) $(ROOTLINK)
  92 
  93 clean:
  94         $(RM) $(OBJS) $(CLEANFILES)
  95 
  96 awk.g.c + y.tab.h: awk.g.y
  97 
  98 awk.g.o: awk.g.c
  99 
 100 proctab.o: proctab.c
 101         $(COMPILE.c) proctab.c
 102         $(POST_PROCESS_O)
 103 
 104 include ../Makefile.targ