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 (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 # 22 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 23 # 24 # Copyright (c) 2018, Joyent, Inc. 25 26 PROG= expr 27 XPG4PROG= expr 28 XPG6PROG= expr 29 30 EXPROBJ= exprobjs/expr.o exprobjs/compile.o 31 XPG4EXPROBJ= exprobjs.xpg4/expr.o exprobjs.xpg4/compile.o 32 XPG6EXPROBJ= exprobjs.xpg6/expr.o exprobjs.xpg6/compile.o 33 34 OBJS= $(EXPROBJ) $(XPG4EXPROBJ) $(XPG6EXPROBJ) 35 SRCS= expr.c compile.c 36 37 include ../Makefile.cmd 38 39 CFLAGS += $(CCVERBOSE) 40 CERRWARN += $(CNOWARN_UNINIT) 41 CERRWARN += -_gcc=-Wno-extra 42 # "missing type for func" 43 SMATCH=off 44 $(XPG4) := CFLAGS += -DXPG4 45 $(XPG6) := CFLAGS += -DXPG6 46 47 XGETFLAGS += -a -x expr.xcl 48 49 LDLIBS += -lgen 50 51 MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB) 52 LDFLAGS += $(MAPFILES:%=-M%) 53 54 .KEEP_STATE: 55 56 all: $(PROG) $(XPG4) $(XPG6) 57 58 install: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTXPG6PROG) 59 60 $(PROG): exprobjs $(EXPROBJ) $(MAPFILES) 61 $(LINK.c) $(EXPROBJ) -o $@ $(LDLIBS) 62 $(POST_PROCESS) 63 64 $(XPG4): exprobjs.xpg4 $(XPG4EXPROBJ) $(MAPFILES) 65 $(LINK.c) $(XPG4EXPROBJ) -o $@ $(LDLIBS) 66 $(POST_PROCESS) 67 68 $(XPG6): exprobjs.xpg6 $(XPG6EXPROBJ) $(MAPFILES) 69 $(LINK.c) $(XPG6EXPROBJ) -o $@ $(LDLIBS) 70 $(POST_PROCESS) 71 72 exprobjs/%.o: %.c 73 $(COMPILE.c) -o $@ $< 74 75 exprobjs.xpg4/%.o: %.c 76 $(COMPILE.c) -o $@ $< 77 78 exprobjs.xpg6/%.o: %.c 79 $(COMPILE.c) -o $@ $< 80 81 exprobjs: 82 -@mkdir -p $@ 83 84 exprobjs.xpg4: 85 -@mkdir -p $@ 86 87 exprobjs.xpg6: 88 -@mkdir -p $@ 89 90 clean: 91 $(RM) $(OBJS) 92 93 lint: lint_PROG 94 95 include ../Makefile.targ