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