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