10063 basic support for smatch
[unleashed.git] / usr / src / tools / scripts / Makefile
blob1ec73ce1444dbfbfe7ca5643e33a9754b4d1f766
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 (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2010, Richard Lowe
26 # Copyright 2018 Joyent, Inc.
28 SHELL=/usr/bin/ksh93
30 SHFILES= \
31 Install \
32 bldenv \
33 build_cscope \
34 bringovercheck \
35 checkpaths \
36 cstyle \
37 elfcmp \
38 flg.flp \
39 genoffsets \
40 nightly \
41 onu \
42 protocmp.terse \
43 sccscheck \
44 webrev \
45 which_scm \
46 ws \
47 xref
49 PERLFILES= \
50 check_rtime \
51 find_elf \
52 interface_check \
53 interface_cmp \
54 jstyle \
55 validate_flg \
56 validate_paths \
57 wdiff
59 PERLMODULES= \
60 onbld_elfmod.pm \
61 onbld_elfmod_vertype.pm
64 PYFILES= \
65 cddlchk \
66 copyrightchk \
67 git-pbchk \
68 hdrchk \
69 mapfilechk \
70 validate_pkg \
71 wscheck \
72 wsdiff
74 SCRIPTLINKS= \
75 git-nits
77 MAN1ONBLDFILES= \
78 Install.1onbld \
79 bldenv.1onbld \
80 bringovercheck.1onbld \
81 cddlchk.1onbld \
82 checkpaths.1onbld \
83 check_rtime.1onbld \
84 cstyle.1onbld \
85 find_elf.1onbld \
86 flg.flp.1onbld \
87 git-pbchk.1onbld \
88 hdrchk.1onbld \
89 interface_check.1onbld \
90 interface_cmp.1onbld \
91 jstyle.1onbld \
92 mapfilechk.1onbld \
93 nightly.1onbld \
94 onu.1onbld \
95 sccscheck.1onbld \
96 webrev.1onbld \
97 which_scm.1onbld \
98 ws.1onbld \
99 wsdiff.1onbld \
100 xref.1onbld
102 MAN1ONBLDLINKS= \
103 git-nits.1onbld
105 MAKEFILES= \
106 xref.mk
108 ETCFILES= \
109 its.conf \
110 its.reg
112 EXCEPTFILES= \
113 check_rtime \
114 interface_check \
115 interface_cmp
117 CLEANFILES = $(SHFILES) $(PERLFILES) $(PYFILES) bldenv.1onbld onu.sh
119 include ../Makefile.tools
121 ROOTONBLDSCRIPTLINKS = $(SCRIPTLINKS:%=$(ROOTONBLDBIN)/%)
122 ROOTONBLDMAN1ONBLDLINKS = $(MAN1ONBLDLINKS:%=$(ROOTONBLDMAN1ONBLD)/%)
124 $(ROOTONBLDETCFILES) := FILEMODE= 644
125 $(ROOTONBLDEXCEPTFILES) := FILEMODE= 644
126 $(ROOTONBLDPERLMODULES) := FILEMODE= 644
127 $(ROOTONBLDMAKEFILES) := FILEMODE= 644
128 $(ROOTONBLDMAN1ONBLDFILES) := FILEMODE= 644
130 .KEEP_STATE:
132 all: $(SHFILES) $(PERLFILES) $(PERLMODULES) $(PYFILES) \
133 $(MAN1ONBLDFILES) $(MAKEFILES)
135 onu.sh: onu.sh.in
136 $(SED) -e "s:@PYTHON_VERSION@:$(PYTHON_VERSION):g" < onu.sh.in > $@
138 $(ROOTONBLDBIN)/git-nits:
139 $(RM) $(ROOTONBLDBIN)/git-nits
140 $(SYMLINK) git-pbchk $(ROOTONBLDBIN)/git-nits
142 $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld:
143 $(RM) $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld
144 $(SYMLINK) git-pbchk.1onbld $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld
146 install: all .WAIT $(ROOTONBLDSHFILES) $(ROOTONBLDPERLFILES) \
147 $(ROOTONBLDPERLMODULES) $(ROOTONBLDPYFILES) \
148 $(ROOTONBLDSCRIPTLINKS) $(ROOTONBLDMAN1ONBLDFILES) \
149 $(ROOTONBLDMAKEFILES) $(ROOTONBLDETCFILES) \
150 $(ROOTONBLDEXCEPTFILES) $(ROOTONBLDMAN1ONBLDLINKS)
152 clean:
153 $(RM) $(CLEANFILES)
155 bldenv: bldenv.sh stdenv.sh
156 $(RM) "$@"
157 sed -e '/# STDENV_START/ r stdenv.sh' bldenv.sh > "$@"
158 # Check for shell lint and fail if we hit warnings
159 shlintout="$$( /usr/bin/ksh93 -n "$@" 2>&1 )" ; \
160 [[ "$${shlintout}" != "" ]] && \
161 { print -r -- "$${shlintout}" ; false ; } || true
162 $(CHMOD) +x "$@"
164 bldenv.1onbld: bldenv
165 $(RM) "$@"
166 (set +o errexit ; ksh93 $? --nroff ; true) 2>&1 | \
167 sed -e 's/\.DS/.nf/g;s/\.DE/.fi/' \
168 -e 's/\.TH BLDENV 1/.TH BLDENV 1ONBLD "September 4, 2018"/' \
169 -e 's/.OP \([a-z]\) - flag -/.OP \\-\1/g' \
170 -e 's/(1)/(1ONBLD)/' > "$@"
172 nightly: nightly.sh stdenv.sh
173 $(RM) "$@"
174 sed -e '/# STDENV_START/ r stdenv.sh' nightly.sh > nightly
175 $(CHMOD) +x "$@"
178 # Not run by default: bootstrap...
179 check:
180 $(ROOTONBLDBINMACH)/mandoc -Tlint -Wwarning $(MAN1ONBLDFILES)
182 include ../Makefile.targ