Home | History | Annotate | Download | only in tools
      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 #
     23 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 
     27 include ../Makefile.master
     28 
     29 # Bootstrap problem --
     30 # 'cw' must be built before anything else can be built.
     31 
     32 BOOT_SUBDIRS= \
     33 	cw
     34 
     35 COMMON_SUBDIRS= \
     36 	bfuld \
     37 	codereview \
     38 	codesign \
     39 	cscope-fast \
     40 	ctf \
     41 	depcheck \
     42 	env \
     43 	fastfs \
     44 	findunref \
     45 	ndrgen \
     46 	onbld \
     47 	pmodes \
     48 	gk \
     49 	install.bin \
     50 	lintdump \
     51 	protocmp \
     52 	protolist \
     53 	scripts
     54 
     55 #
     56 #  special versions of commands for use only in build
     57 #
     58 UNSHIPPED_SUBDIRS = \
     59 	elfsign
     60 
     61 sparc_SUBDIRS= \
     62 	chk4ubin \
     63 	stabs \
     64 	tokenize
     65 
     66 i386_SUBDIRS=		\
     67 	aw		\
     68 	elfextract	\
     69 	mbh_patch
     70 
     71 LINTSUBDIRS= \
     72 	codereview \
     73 	ctf \
     74 	cw \
     75 	findunref \
     76 	lintdump \
     77 	ndrgen \
     78 	protocmp \
     79 	protolist
     80 
     81 SUBDIRS= \
     82 	$($(MACH)_SUBDIRS) \
     83 	$(COMMON_SUBDIRS) \
     84 	$(UNSHIPPED_SUBDIRS)
     85 
     86 #
     87 # Packages built here
     88 #
     89 PKG_SUBDIRS= SUNWonbld
     90 
     91 include Makefile.tools
     92 
     93 ROOTDIRS= \
     94 	$(ROOTOPT) \
     95 	$(ROOTONBLD) \
     96 	$(ROOTONBLD)/bin \
     97 	$(ROOTONBLD)/bin/$(MACH) \
     98 	$(ROOTONBLD)/lib \
     99 	$(ROOTONBLD)/lib/$(MACH) \
    100 	$(ROOTONBLD)/lib/perl \
    101 	$(ROOTONBLD)/lib/python \
    102 	$(ROOTONBLD)/lib/python/onbld \
    103 	$(ROOTONBLD)/lib/python/onbld/Checks \
    104 	$(ROOTONBLD)/lib/python/onbld/hgext \
    105 	$(ROOTONBLD)/lib/python/onbld/Scm \
    106 	$(ROOTONBLD)/env \
    107 	$(ROOTONBLD)/etc \
    108 	$(ROOTONBLD)/etc/exception_lists \
    109 	$(ROOTONBLD)/gk \
    110 	$(ROOTONBLD)/man \
    111 	$(ROOTONBLD)/man/man1
    112 
    113 all :=		TARGET= install
    114 install :=	TARGET= install
    115 clean :=	TARGET= clean
    116 clobber :=	TARGET= clobber
    117 lint :=		TARGET= lint
    118 _msg :=		TARGET= _msg
    119 
    120 .KEEP_STATE:
    121 
    122 all install: $(SUBDIRS)
    123 
    124 clean: $(SUBDIRS)
    125 
    126 clobber: $(SUBDIRS)
    127 	$(RM) -rf $(TOOLS_PROTO)
    128 
    129 pkg: install .WAIT $(PKG_SUBDIRS)
    130 
    131 lint: $(LINTSUBDIRS)
    132 
    133 _msg: $(MSGSUBDIRS)
    134 
    135 .PARALLEL: $(SUBDIRS) $(PKG_SUBDIRS) $(CLOSED_SUBDIRS)
    136 
    137 $(SUBDIRS) $(CLOSED_SUBDIRS): $(BOOT_SUBDIRS)
    138 
    139 $(BOOT_SUBDIRS) $(SUBDIRS): $(ROOTDIRS) FRC
    140 	@cd $@; pwd; $(MAKE) $(TARGET)
    141 
    142 $(PKG_SUBDIRS): FRC
    143 	@cd $@; pwd; $(MAKE) install
    144 
    145 FRC:
    146 
    147 $(ROOTDIRS):
    148 	$(INS.dir)
    149