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 2015 Gary Mills 23# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26# Copyright (c) 2018, Joyent, Inc. 27 28PROG= yacc 29 30COMOBJS= y1.o y2.o y3.o y4.o 31POBJECTS= $(COMOBJS) 32POBJS= $(POBJECTS:%=objs/%) 33 34OBJECTS= libmai.o libzer.o 35 36LIBRARY= liby.a 37VERS= .1 38YACCPAR= yaccpar 39 40include ../../../../lib/Makefile.lib 41 42SRCDIR = ../common 43 44# Override default source file derivation rule (in Makefile.lib) 45# from objects 46# 47COMSRCS= $(COMOBJS:%.o=../common/%.c) 48LIBSRCS= $(OBJECTS:%.o=../common/%.c) 49SRCS= $(COMSRCS) $(LIBSRCS) 50 51LIBS = $(DYNLIB) $(LINTLIB) 52 53# Append to LINTFLAGS and LINTFLAGS64 from lib/Makefile.lib 54LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2 55LINTFLAGS64 += -erroff=E_NAME_MULTIPLY_DEF2 56 57# Tune ZDEFS to ignore undefined symbols for building the yacc shared library 58# since these symbols (mainly yyparse) are to be resolved elsewhere. 59# 60$(DYNLIB):= ZDEFS = $(ZNODEFS) 61$(DYNLIBCCC):= ZDEFS = $(ZNODEFS) 62LINTSRCS= ../common/llib-l$(LIBNAME) 63$(LINTLIB):= SRCS = $(SRCDIR)/$(LINTSRC) 64 65INCLIST= -I../../include -I../../include/$(MACH) 66CPPFLAGS= $(INCLIST) $(DEFLIST) $(CPPFLAGS.master) 67$(PROG):= LDLIBS = $(LDLIBS.cmd) 68BUILD.AR= $(AR) $(ARFLAGS) $@ `$(LORDER) $(OBJS) | $(TSORT)` 69 70LINTPOUT= lint.out 71 72CSTD= $(CSTD_GNU99) 73CFLAGS += $(CCVERBOSE) 74CFLAGS64 += $(CCVERBOSE) 75CERRWARN += -_gcc=-Wno-parentheses 76CERRWARN += -_gcc=-Wno-uninitialized 77 78# not linted 79SMATCH=off 80 81$(ROOTPROG):= FILEMODE = 0555 82 83ROOTYACCPAR= $(YACCPAR:%=$(ROOTSHLIBCCS)/%) 84 85ROOTLINTDIR= $(ROOTLIBDIR) 86ROOTLINT= $(LINTSRCS:../common/%=$(ROOTLINTDIR)/%) 87 88DYNLINKLIBDIR= $(ROOTLIBDIR) 89DYNLINKLIB= $(LIBLINKS:%=$(DYNLINKLIBDIR)/%) 90 91LDLIBS += -lc 92 93CLEANFILES += $(LINTPOUT) 94CLOBBERFILES += $(LIBS) $(LIBRARY) 95 96lint: lintcheck 97