6857 webrev: add -c and -h options to specify "head" revision
[unleashed.git] / usr / src / tools / Makefile
blobbd541b758c91ccc2353425d7c53f44dbb892c6c1
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
23 # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
27 include ../Makefile.master
29 # Bootstrap problem --
30 # 'cw' must be built before anything else can be built.
32 BOOT_SUBDIRS= \
35 COMMON_SUBDIRS= \
36 codereview \
37 codesign \
38 cscope-fast \
39 ctf \
40 depcheck \
41 env \
42 findunref \
43 gk \
44 install.bin \
45 lintdump \
46 make \
47 ndrgen \
48 onbld \
49 pmodes \
50 protocmp \
51 protolist \
52 scripts
55 # special versions of commands for use only in build
57 UNSHIPPED_SUBDIRS = \
58 elfsign \
59 mandoc
61 sparc_SUBDIRS= \
62 chk4ubin \
63 stabs \
64 tokenize
66 i386_SUBDIRS= \
67 aw \
68 elfextract \
69 mbh_patch
71 LINTSUBDIRS= \
72 codereview \
73 ctf \
74 cw \
75 findunref \
76 lintdump \
77 ndrgen \
78 protocmp \
79 protolist
81 SUBDIRS= \
82 $($(MACH)_SUBDIRS) \
83 $(COMMON_SUBDIRS) \
84 $(UNSHIPPED_SUBDIRS)
86 include Makefile.tools
88 ROOTDIRS= \
89 $(ROOTOPT) \
90 $(ROOTONBLD) \
91 $(ROOTONBLD)/bin \
92 $(ROOTONBLD)/bin/$(MACH) \
93 $(ROOTONBLD)/lib \
94 $(ROOTONBLD)/lib/$(MACH) \
95 $(ROOTONBLD)/lib/$(MACH)/64 \
96 $(ROOTONBLD)/lib/perl \
97 $(ROOTONBLD)/lib/python2.6 \
98 $(ROOTONBLD)/lib/python2.6/onbld \
99 $(ROOTONBLD)/lib/python2.6/onbld/Checks \
100 $(ROOTONBLD)/lib/python2.6/onbld/hgext \
101 $(ROOTONBLD)/lib/python2.6/onbld/Scm \
102 $(ROOTONBLD)/env \
103 $(ROOTONBLD)/etc \
104 $(ROOTONBLD)/etc/exception_lists \
105 $(ROOTONBLD)/share \
106 $(ROOTONBLD)/gk \
107 $(ROOTONBLD)/man \
108 $(ROOTONBLD)/man/man1onbld
110 all := TARGET= install
111 install := TARGET= install
112 clean := TARGET= clean
113 clobber := TARGET= clobber
114 lint := TARGET= lint
115 _msg := TARGET= _msg
117 .KEEP_STATE:
120 # Only create directories in the tools proto area when doing an actual
121 # build, not a clean or clobber.
123 DOROOTDIRS= $(ROOTDIRS)
124 clobber:= DOROOTDIRS=
125 clean:= DOROOTDIRS=
127 all install: $(SUBDIRS)
129 clean: $(SUBDIRS)
131 clobber: $(SUBDIRS)
132 $(RM) -rf $(TOOLS_PROTO)
134 lint: $(LINTSUBDIRS)
136 _msg: $(MSGSUBDIRS)
138 .PARALLEL: $(SUBDIRS) $(CLOSED_SUBDIRS)
140 $(SUBDIRS) $(CLOSED_SUBDIRS): $(BOOT_SUBDIRS)
142 $(BOOT_SUBDIRS) $(SUBDIRS): $$(DOROOTDIRS) $(ROOTONBLDLIBPY) FRC
143 @cd $@; pwd; $(MAKE) $(TARGET)
145 $(ROOTDIRS):
146 $(INS.dir)
148 $(ROOTONBLDLIBPY): $(ROOTDIRS)
149 $(RM) -r $@; $(SYMLINK) python2.6 $@
151 make: ctf
153 FRC: