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 (c) 2018, Joyent, Inc.
  28 
  29 # NOTE: awk is oawk.
  30 
  31 PROG= nawk
  32 
  33 OBJ1= b.o lib.o main.o parse.o proctab.o run.o tran.o
  34 OBJ2= awk.g.o awk.lx.o
  35 OBJS= $(OBJ2) $(OBJ1)
  36 SRCS= $(OBJ1:%.o=%.c)
  37 
  38 include ../Makefile.cmd
  39 
  40 CERRWARN += -_gcc=-Wno-implicit-function-declaration
  41 CERRWARN += -_gcc=-Wno-unused-label
  42 CERRWARN += -_gcc=-Wno-parentheses
  43 CERRWARN += -_gcc=-Wno-unused-variable
  44 CERRWARN += -_gcc=-Wno-uninitialized
  45 
  46 # not linted
  47 SMATCH=off
  48 
  49 #
  50 # Message catalog
  51 #
  52 POFILES= $(OBJS:%.o=%.po)
  53 POFILE= awk.po
  54 XGETFLAGS += -a -x awk.xcl
  55 #
  56 
  57 CPPFLAGS += -D_FILE_OFFSET_BITS=64
  58 YFLAGS += -d
  59 LDLIBS += -lm
  60 LINTFLAGS += -u
  61 CLEANFILES= maketab proctab.c awk.g.c awk.lx.c y.tab.h
  62 
  63 .KEEP_STATE:
  64 
  65 all: $(PROG) 
  66 
  67 $(PROG): $(OBJS)
  68         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  69         $(POST_PROCESS)
  70 
  71 #
  72 # message catalog
  73 #
  74 
  75 $(POFILE):  y.tab.h $(POFILES)
  76         $(RM) $@
  77         cat $(POFILES) > $@
  78 #
  79 
  80 proctab.c: maketab
  81         rm -f $@; ./maketab > $@
  82 
  83 maketab: maketab.c
  84         $(NATIVECC) $(NATIVE_CFLAGS) maketab.c -o $@ $(LDLIBS)
  85 
  86 install: all $(ROOTPROG) $(ROOTLINK)
  87 
  88 clean:
  89         $(RM) $(OBJS) $(CLEANFILES)
  90 
  91 lint: awk.g.c lint_SRCS
  92 
  93 awk.g.c + y.tab.h: awk.g.y
  94 
  95 awk.g.o: awk.g.c
  96 
  97 awk.lx.c: awk.lx.l
  98 
  99 proctab.o: proctab.c
 100         $(COMPILE.c) proctab.c
 101         $(POST_PROCESS_O)
 102 
 103 include ../Makefile.targ