10063 basic support for smatch
[unleashed.git] / usr / src / lib / libpp / Makefile.com
blob2710fe887353457c4df381eb1a3c0daff2f420f8
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 2009 Sun Microsystems, Inc.  All rights reserved.
23 # Use is subject to license terms.
25 # Copyright (c) 2019, Joyent, Inc.
27 SHELL=/usr/bin/ksh93
29 LIBRARY=        libpp.a
30 VERS=           .1
32 OBJECTS= \
33         ppargs.o \
34         ppbuiltin.o \
35         ppcall.o \
36         ppcomment.o \
37         ppcontext.o \
38         ppcontrol.o \
39         ppcpp.o \
40         ppdata.o \
41         pperror.o \
42         ppexpr.o \
43         ppfsm.o \
44         ppincref.o \
45         ppinput.o \
46         ppkey.o \
47         pplex.o \
48         ppline.o \
49         ppmacref.o \
50         ppmisc.o \
51         ppop.o \
52         pppragma.o \
53         ppprintf.o \
54         ppproto.o \
55         ppsearch.o \
56         pptrace.o
58 include ../../Makefile.astmsg
60 include ../../Makefile.lib
62 # mapfile-vers does not live with the sources in in common/ to make
63 # automated code updates easier.
64 MAPFILES=       ../mapfile-vers
66 # Set common AST build flags (e.g. C99/XPG6, needed to support the math stuff)
67 include ../../../Makefile.ast
69 LIBS =          $(DYNLIB) $(LINTLIB)
71 LDLIBS += \
72         -last \
73         -lc
75 $(LINTLIB) :=   SRCS = $(SRCDIR)/$(LINTSRC)
77 SRCDIR =        ../common
79 # We use "=" here since using $(CPPFLAGS.master) is very tricky in our
80 # case - it MUST come as the last element but future changes in -D options
81 # may then cause silent breakage in the AST sources because the last -D
82 # option specified overrides previous -D options so we prefer the current
83 # way to explicitly list each single flag.
84 CPPFLAGS = \
85         $(DTEXTDOM) $(DTS_ERRNO) \
86         -I. \
87         -I$(ROOT)/usr/include/ast \
88         -I$(ROOT)/usr/include \
89         -D_PACKAGE_ast \
90         '-DUSAGE_LICENSE=\
91                 "[-author?Glenn Fowler <gsf@research.att.com>]"\
92                 "[-copyright?Copyright (c) 1986-2009 AT&T Intellectual Property]"\
93                 "[-license?http://www.opensource.org/licenses/cpl1.0.txt]"\
94                 "[--catalog?libpp]"'
97 CFLAGS += \
98         $(ASTCFLAGS)
99 CFLAGS64 += \
100         $(ASTCFLAGS64)
102 CERRWARN        += -_gcc=-Wno-parentheses
103 CERRWARN        += -_gcc=-Wno-uninitialized
104 CERRWARN        += -_gcc=-Wno-char-subscripts
105 CERRWARN        += -_gcc=-Wno-empty-body
106 CERRWARN        += -_gcc=-Wno-unused-value
108 # "pplex() parse error: turning off implications after 60 seconds"
109 SMATCH          = off
111 pics/ppcall.o           := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
112 pics/ppcontrol.o        := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
113 pics/ppcpp.o            := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
114 pics/ppexpr.o           := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
115 pics/pplex.o            := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
116 pics/ppop.o             := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
117 pics/ppsearch.o         := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
118 pics/ppsearch.o         := CERRWARN += -_gcc=-Wno-sequence-point
119 pics/pplex.o            := CERRWARN += -_gcc=-Wno-implicit-fallthrough
120 pics/ppcpp.o            := CERRWARN += -_gcc=-Wno-implicit-fallthrough
121 pics/ppproto.o          := CERRWARN += -_gcc=-Wno-implicit-fallthrough
123 .KEEP_STATE:
125 all: $(LIBS)
128 # libpp is not lint-clean yet; fake up a target.  (You can use
129 # "make lintcheck" to actually run lint; please send all lint fixes
130 # upstream (to AT&T) so the next update will pull them into ON.)
132 lint:
133         @ print "usr/src/lib/libpp is not lint-clean: skipping"
135 include ../../Makefile.targ