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 (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
23 #
24 # Copyright 2010, Richard Lowe
25
26 SHELL=/usr/bin/ksh93
27
28 SHFILES= \
29 Install \
30 bindrop \
31 bldenv \
32 build_cscope \
33 bringovercheck \
34 checkpaths \
35 checkproto \
36 cryptodrop \
37 cstyle \
38 elfcmp \
39 flg.flp \
40 genoffsets \
41 hgsetup \
42 nightly \
43 onu \
44 protocmp.terse \
45 sccscheck \
46 webrev \
47 which_scm \
48 ws \
49 xref \
50 buildstamp
51
52 PERLFILES= \
53 check_rtime \
54 find_elf \
55 interface_check \
56 interface_cmp \
57 jstyle \
58 mkreadme_osol \
59 mktpl \
60 validate_flg \
61 validate_paths \
62 wdiff
63
64 PERLMODULES= \
65 onbld_elfmod.pm \
66 onbld_elfmod_vertype.pm
67
68
69 PYFILES= \
70 cddlchk \
71 copyrightchk \
72 git-pbchk \
73 hdrchk \
74 hg-active \
75 mapfilechk \
76 validate_pkg \
77 wsdiff
78
79 SCRIPTLINKS= \
80 git-nits
81
82 MAN1FILES= \
83 Install.1 \
84 bldenv.1 \
85 bringovercheck.1 \
86 cddlchk.1 \
87 checkpaths.1 \
88 check_rtime.1 \
89 cstyle.1 \
90 find_elf.1 \
91 flg.flp.1 \
92 git-pbchk.1 \
93 hdrchk.1 \
94 interface_check.1 \
95 interface_cmp.1 \
96 hgsetup.1 \
97 jstyle.1 \
98 mapfilechk.1 \
99 nightly.1 \
100 onu.1 \
101 sccscheck.1 \
102 webrev.1 \
103 which_scm.1 \
104 ws.1 \
105 wsdiff.1 \
106 xref.1
107
108 MAN1LINKS= \
109 git-nits.1
110
111 MAKEFILES= \
112 xref.mk
113
114 ETCFILES= \
115 hgstyle \
116 its.conf \
117 its.reg
118
119 EXCEPTFILES= \
120 check_rtime \
121 interface_check \
122 interface_cmp
123
124 CLEANFILES = $(SHFILES) $(PERLFILES) $(PYFILES) bldenv.1
125
126 include ../Makefile.tools
127
128 ROOTONBLDSCRIPTLINKS = $(SCRIPTLINKS:%=$(ROOTONBLDBIN)/%)
129 ROOTONBLDMAN1LINKS = $(MAN1LINKS:%=$(ROOTONBLDMAN1)/%)
130
131 $(ROOTONBLDETCFILES) := FILEMODE= 644
132 $(ROOTONBLDEXCEPTFILES) := FILEMODE= 644
133 $(ROOTONBLDPERLMODULES) := FILEMODE= 644
134 $(ROOTONBLDMAKEFILES) := FILEMODE= 644
135 $(ROOTONBLDMAN1FILES) := FILEMODE= 644
136
137 .KEEP_STATE:
138
139 all: $(SHFILES) $(PERLFILES) $(PERLMODULES) $(PYFILES) \
140 $(MAN1FILES) $(MAKEFILES)
141
142 $(ROOTONBLDBIN)/git-nits:
143 $(RM) $(ROOTONBLDBIN)/git-nits
144 $(SYMLINK) git-pbchk $(ROOTONBLDBIN)/git-nits
145
146 $(ROOTONBLDMAN1)/git-nits.1:
147 $(RM) $(ROOTONBLDMAN1)/git-nits.1
148 $(SYMLINK) git-pbchk.1 $(ROOTONBLDMAN1)/git-nits.1
149
150 install: all .WAIT $(ROOTONBLDSHFILES) $(ROOTONBLDPERLFILES) \
151 $(ROOTONBLDPERLMODULES) $(ROOTONBLDPYFILES) \
152 $(ROOTONBLDSCRIPTLINKS) $(ROOTONBLDMAN1FILES) \
153 $(ROOTONBLDMAKEFILES) $(ROOTONBLDETCFILES) \
154 $(ROOTONBLDEXCEPTFILES) $(ROOTONBLDMAN1LINKS)
155
156 clean:
157 $(RM) $(CLEANFILES)
158
159 bldenv: bldenv.sh stdenv.sh
160 $(RM) "$@"
161 sed -e '/# STDENV_START/ r stdenv.sh' bldenv.sh > "$@"
162 # Check for shell lint and fail if we hit warnings
163 shlintout="$$( /usr/bin/ksh93 -n "$@" 2>&1 )" ; \
164 [[ "$${shlintout}" != "" ]] && \
165 { print -r -- "$${shlintout}" ; false ; } || true
166 $(CHMOD) +x "$@"
167
168 bldenv.1: bldenv
169 $(RM) "$@"
170 (set +o errexit ; ksh93 $? --nroff ; true) 2>&1 | \
171 sed 's/\.DS/.nf/g;s/\.DE/.fi/' > "$@"
172
173 nightly: nightly.sh stdenv.sh
174 $(RM) "$@"
175 sed -e '/# STDENV_START/ r stdenv.sh' nightly.sh > nightly
176 $(CHMOD) +x "$@"
177
178 include ../Makefile.targ
179