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