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 # Copyright 2003 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 # Copyright (c) 2018, Joyent, Inc. 27 28 PROG= bc 29 XPG6PROG= bc 30 XD= exobjs.xpg6 31 EXOBJS= bc.o 32 XPG6EXOBJS= exobjs.xpg6/bc.o 33 34 LIBB= lib.b 35 CLOBBERFILES= $(LIBB) 36 37 include ../Makefile.cmd 38 39 CERRWARN += -_gcc=-Wno-implicit-function-declaration 40 CERRWARN += -_gcc=-Wno-parentheses 41 CERRWARN += -_gcc=-Wno-unused-label 42 43 # nothing lintable 44 SMATCH=off 45 46 $(XPG6EXOBJS) := CFLAGS += -DXPG6 47 ROOTLIBB= $(LIBB:%=$(ROOTLIB)/%) 48 $(ROOTLIBB) := FILEMODE = $(LIBFILEMODE) 49 50 .KEEP_STATE: 51 52 all: $(PROG) $(XPG6) $(LIBB) 53 54 $(PROG): $(EXOBJS) 55 $(LINK.c) -o $@ $(EXOBJS) $(LDLIBS) 56 $(POST_PROCESS) 57 58 59 $(XPG6): $(XD) $(XPG6EXOBJS) 60 $(LINK.c) -o $@ $(XPG6EXOBJS) $(LDLIBS) 61 $(POST_PROCESS) 62 63 64 $(LIBB): $(LIBB).data 65 -$(RM) $(LIBB) 66 $(CP) $(LIBB).data $(LIBB) 67 68 install: all $(ROOTPROG) $(ROOTXPG6PROG) $(ROOTLIBB) 69 70 clean: 71 -@rm -rf $(PROG).c $(PROG).x $(EXOBJS) $(XD) $(PROG) $(XPG6) 72 73 lint: 74 75 $(XPG6EXOBJS): $(XD) 76 77 $(XD)/bc.o: bc.y 78 $(YACC.y) bc.y 79 $(COMPILE.c) -o $@ y.tab.c 80 $(POST_PROCESS_O) 81 $(RM) y.tab.c 82 83 $(XD): 84 -@mkdir -p $@ 85 86 87 include ../Makefile.targ