6117 Many small bugs prevent a clean build on SPARC
[illumos-gate.git] / usr / src / cmd / sgs / yacc / Makefile.com
blob9744f284ea57291517e7ba20b2a9277f46456484
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright 2015 Gary Mills
23 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24 # Use is subject to license terms.
27 PROG=           yacc
29 COMOBJS=        y1.o y2.o y3.o y4.o
30 POBJECTS=       $(COMOBJS)
31 POBJS=          $(POBJECTS:%=objs/%)
33 OBJECTS=        libmai.o libzer.o
35 LIBRARY=        liby.a
36 VERS=           .1
37 YACCPAR=        yaccpar
39 include ../../../../lib/Makefile.lib
41 SRCDIR =        ../common
43 # Override default source file derivation rule (in Makefile.lib)
44 # from objects
46 COMSRCS=        $(COMOBJS:%.o=../common/%.c)
47 LIBSRCS=        $(OBJECTS:%.o=../common/%.c)
48 SRCS=           $(COMSRCS) $(LIBSRCS)
50 LIBS =          $(DYNLIB) $(LINTLIB)
52 # Append to LINTFLAGS and LINTFLAGS64 from lib/Makefile.lib
53 LINTFLAGS +=    -erroff=E_NAME_MULTIPLY_DEF2
54 LINTFLAGS64 +=  -erroff=E_NAME_MULTIPLY_DEF2
56 # Tune ZDEFS to ignore undefined symbols for building the yacc shared library
57 # since these symbols (mainly yyparse) are to be resolved elsewhere.
59 $(DYNLIB):= ZDEFS = $(ZNODEFS)
60 $(DYNLIBCCC):= ZDEFS = $(ZNODEFS)
61 LINTSRCS=       ../common/llib-l$(LIBNAME)
62 $(LINTLIB):=    SRCS = $(SRCDIR)/$(LINTSRC)
64 INCLIST=        -I../../include -I../../include/$(MACH)
65 CPPFLAGS=       $(INCLIST) $(DEFLIST) $(CPPFLAGS.master)
66 $(PROG):=       LDLIBS = $(LDLIBS.cmd)
67 BUILD.AR=       $(AR) $(ARFLAGS) $@ `$(LORDER) $(OBJS) | $(TSORT)`
69 LINTPOUT=       lint.out
71 C99MODE= $(C99_ENABLE)
72 CFLAGS += $(CCVERBOSE)
73 CFLAGS64 += $(CCVERBOSE)
74 CERRWARN += -_gcc=-Wno-parentheses
75 CERRWARN += -_gcc=-Wno-uninitialized
77 $(ROOTPROG):= FILEMODE = 0555
79 ROOTYACCPAR=    $(YACCPAR:%=$(ROOTSHLIBCCS)/%)
81 ROOTLINTDIR=    $(ROOTLIBDIR)
82 ROOTLINT=       $(LINTSRCS:../common/%=$(ROOTLINTDIR)/%)
84 DYNLINKLIBDIR=  $(ROOTLIBDIR)
85 DYNLINKLIB=     $(LIBLINKS:%=$(DYNLINKLIBDIR)/%)
87 LDLIBS += -lc
89 CLEANFILES +=   $(LINTPOUT)
90 CLOBBERFILES += $(LIBS) $(LIBRARY)
92 lint: lintcheck