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/CDDL.txt
   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/CDDL.txt.
  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 #ident  "@(#)Makefile   1.129   07/08/15 SMI"
  24 #
  25 # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  26 # Use is subject to license terms.
  27 #
  28 # pkgdefs/Makefile
  29 
  30 include $(SRC)/Makefile.master
  31 
  32 sparc_NONSHIP_SUBDIRS =
  33 i386_NONSHIP_SUBDIRS =
  34 
  35 I18N_SUBDIRS = \
  36         SUNW0scds
  37 
  38 NONSHIP_SUBDIRS = \
  39         $($(MACH)_NONSHIP_SUBDIRS)
  40 
  41 PRODUCT_SUBDIRS = \
  42         SUNWscdns \
  43         SUNWscnfs \
  44         SUNWschtt \
  45         SUNWscapc \
  46         SUNWscsap \
  47         SUNWsclc \
  48         SUNWscwls \
  49         SUNWscs1as \
  50         SUNWscs1mq \
  51         SUNWscsapdb \
  52         SUNWschadb \
  53         SUNWscsapenq \
  54         SUNWscsaprepl \
  55         SUNWscsapwebas \
  56         SUNWscsapscs \
  57         SUNWscsge \
  58         SUNWscPostgreSQL \
  59         SUNWsc9ias \
  60         SUNWscdhc \
  61         SUNWscids \
  62         SUNWscmqs \
  63         SUNWscmys \
  64         SUNWsctomcat \
  65         SUNWscsps \
  66         SUNWscmqi \
  67         SUNWscsmb \
  68         SUNWscsaa \
  69         SUNWscsag 
  70 
  71 $(CLOSED_BUILD)PRODUCT_SUBDIRS += \
  72         SUNWscor \
  73         SUNWscsyb
  74 
  75 s9_PRODUCT_SUBDIRS += \
  76         SUNWscpax
  77 
  78 $(S9_BUILD)PRODUCT_SUBDIRS += $(s9_PRODUCT_SUBDIRS)
  79 
  80 post_s9_PRODUCT_SUBDIRS += \
  81         SUNWsckrb5 \
  82         SUNWsczone
  83 
  84 $(POST_S9_BUILD)PRODUCT_SUBDIRS += $(post_s9_PRODUCT_SUBDIRS)
  85 
  86 sparc_PRODUCT_SUBDIRS += \
  87         SUNWscebs \
  88         SUNWscsbl
  89 
  90 PRODUCT_SUBDIRS += $($(MACH)_PRODUCT_SUBDIRS)
  91 
  92 SUBDIRS= \
  93         $(PRODUCT_SUBDIRS) \
  94         $(NONSHIP_SUBDIRS) \
  95         $(I18N_SUBDIRS)
  96 
  97 # Targetdirs needs to process all package subdirs, as we build all the code,
  98 # even if the agent isn't supported/packaged on a particular platform
  99 $(POST_S9_BUILD)ALLPKG_SUBDIRS += $(s9_PRODUCT_SUBDIRS)
 100 $(S9_BUILD)ALLPKG_SUBDIRS += $(post_s9_PRODUCT_SUBDIRS)
 101 i386_ALLPKG_SUBDIRS += $(sparc_PRODUCT_SUBDIRS)
 102 sparc_ALLPKG_SUBDIRS += $(i386_PRODUCT_SUBDIRS)
 103 ALLPKG_SUBDIRS += $(SUBDIRS) $($(MACH)_ALLPKG_SUBDIRS)
 104 
 105 # Support for S11 is unknown at this time, so include all agents
 106 $(S11_BUILD)SUBDIRS += $(s9_PRODUCT_SUBDIRS) $($(MACH)_ALLPKG_SUBDIRS)
 107 
 108 sparc_XMODS=
 109 
 110 # L10N support dropped from 3.2 due to resource constraints
 111 # L10N support is included in open source builds
 112 $(CLOSED_BUILD)$(S11_BUILD)L10N_XMODS= l10n
 113 
 114 $(CLOSED_BUILD)DVDIMAGES_XMODS= \
 115         dvdimages
 116 
 117 XMODS=  $($(MACH)_XMODS) $(L10N_XMODS) $(DVDIMAGES_XMODS)
 118 
 119 DOT_FILES= dot.clustertoc dot.order
 120 
 121 all :=                  TARGET= all
 122 install :=              TARGET= install
 123 clean :=                TARGET= clean
 124 clobber :=              TARGET= clobber
 125 _msg :=                 TARGET= _msg
 126 patch_build :=          TARGET= patch_build
 127 
 128 .KEEP_STATE:
 129 
 130 .PARALLEL: $(SUBDIRS) $(XMODS)
 131 
 132 install: awk_pkginfo $(SUBDIRS) $(XMODS)
 133 
 134 _msg: ./parse_i18n_proto $(I18N_SUBDIRS)
 135 
 136 all: awk_pkginfo $(SUBDIRS) $(XMODS) $(DOT_FILES)
 137 
 138 clean clobber: $(SUBDIRS) $(XMODS)
 139         $(RM) awk_pkginfo Targetdirs $(DOT_FILES)
 140 
 141 patch_build: awk_pkginfo $(PRODUCT_SUBDIRS)
 142 
 143 $(SUBDIRS): FRC
 144         @cd $@; pwd; $(MAKE) $(TARGET)
 145 
 146 $(XMODS):       FRC
 147         @if [ -f $@/Makefile  ]; then \
 148                 cd $@; pwd; $(MAKE) $(TARGET); \
 149         else \
 150                 true; \
 151         fi
 152 
 153 DOT_CLUSTERTOC_SRC = dot.clustertoc.sun_cluster_agents.$(NATIVE_MACH)
 154 $(S9_BUILD)DOT_CLUSTERTOC_SRC = dot.clustertoc.sun_cluster_agents.$(NATIVE_MACH).Sol_9
 155 
 156 DOT_ORDER_SRC= dot.order.sun_cluster_agents.$(NATIVE_MACH)
 157 $(S9_BUILD)DOT_ORDER_SRC= dot.order.sun_cluster_agents.$(NATIVE_MACH).Sol_9
 158 
 159 dot.clustertoc: $(DOT_CLUSTERTOC_SRC)
 160         $(RM) $@
 161         cp $(DOT_CLUSTERTOC_SRC) $@
 162 
 163 dot.order: $(DOT_ORDER_SRC)
 164         $(RM) $@
 165         cp $(DOT_ORDER_SRC) $@
 166 
 167 $(NOT_RELEASE_BUILD)AWK_PKGINFO_DFLAG= -d
 168 
 169 awk_pkginfo: ./bld_awk_pkginfo
 170         ./bld_awk_pkginfo -m $(MACH) -p "$(RELEASE)/$(VERSION)" ${AWK_PKGINFO_DFLAG} -o $@
 171 
 172 ALL_PROTOTYPES =        $(ALLPKG_SUBDIRS:%=%/pkginfo.tmpl %/prototype_com) \
 173                         $(ALLPKG_SUBDIRS:%=%/pkginfo.tmpl %/prototype_$(MACH))
 174 
 175 makefiles:      Targetdirs parse_i18n_proto
 176 
 177 # generate Targetdirs and use that to create all the proto directories
 178 Targetdirs:     ./pkgdefs_to_targetdirs $(ALL_PROTOTYPES)
 179                 ./pkgdefs_to_targetdirs $(ALL_PROTOTYPES) > Targetdirs
 180 
 181 FRC: