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