Makefile revision fb9f9b975cb9214fec5dab37d461199adab9b964
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend#
2d0611ffc9f91c5fc2ddccb93f9a3d17791ae650takashi# CDDL HEADER START
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend#
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# The contents of this file are subject to the terms of the
5d8c229294268bca44bd1400700b175c999f41feyoshiki# Common Development and Distribution License, Version 1.0 only
d0e5d6b1ca9d19c88060ad6a97fe4bb1f5d58859jim# (the "License"). You may not use this file except in compliance
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# with the License.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend#
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# or http://www.opensolaris.org/os/licensing.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# See the License for the specific language governing permissions
d9b843d090f14405079b4a61a493316cd3f1e5b9minfrin# and limitations under the License.
c9c5542f81fad2ca5439df7a808acc3cb1b5f2e0yoshiki#
8951c7d73bfa2ae5a2c8fe5bd27f3e677be02564noirin# When distributing Covered Code, include this CDDL HEADER in each
909ce17e2bd0faef7b1c294f2307f009793fd493nd# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c9c5542f81fad2ca5439df7a808acc3cb1b5f2e0yoshiki# If applicable, add the following below this CDDL HEADER, with the
0ce5630695a7aa568811a9dd0aceedd685f040dend# fields enclosed by brackets "[]" replaced with your own identifying
42af92a661a06b3cebc88d585aad75064a309d51nd# information: Portions Copyright [yyyy] [name of copyright owner]
8951c7d73bfa2ae5a2c8fe5bd27f3e677be02564noirin#
6fe26506780e73be2a412d758af77fafdf03291and# CDDL HEADER END
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend#
c9c5542f81fad2ca5439df7a808acc3cb1b5f2e0yoshiki#
9649d29bb7801e0698e6a845e1a8a61534df58b3noodl# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
101bf3584c853027d9e51df6edfff5ff70c80238jim# Use is subject to license terms.
101bf3584c853027d9e51df6edfff5ff70c80238jim#
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# ident "%Z%%M% %I% %E% SMI"
43f6cc6aa3312619633538b8978619a48c0ce52eminfrin#
412bf2d2fd3ee0608bc0767e2281e47ea317963end# include global definitions
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendinclude ../Makefile.master
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
4cf7cf20e77128a5b75ab519e2db0286b24fef68yoshiki#
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# List of architectures to build as part of the standard build.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend#
0ce5630695a7aa568811a9dd0aceedd685f040dend# Note that sparc must trail the individual platforms so that sparc
ef537c131654a829afbd4cfcd074022fe6089d5dnd# lint targets will have the unix lint libraries to compare against.
e8b603fa9ccf7b17b11b42df6d8916fd97c2331dnd#
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendsparc_ARCHITECTURES = sun4v sun4u sparc
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
412bf2d2fd3ee0608bc0767e2281e47ea317963endi386_ARCHITECTURES = i86pc
2a9d60313e1c967b4bc51ec3de3fbd3f7ae454d6ndi386_ARCHITECTURES += intel
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fenddef := TARGET= def
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendall := TARGET= all
4cf7cf20e77128a5b75ab519e2db0286b24fef68yoshikiinstall := TARGET= install
2a9d60313e1c967b4bc51ec3de3fbd3f7ae454d6ndinstall_h := TARGET= install_h
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendclean := TARGET= clean
03a4ff9ac4c9b8009249010e7c53bb86ff05915andclobber := TARGET= clobber
5d8c229294268bca44bd1400700b175c999f41feyoshikilint := TARGET= lint
1e367a83311e5243e04d68857d007d04765a48f9chrisdclean.lint := TARGET= clean.lint
1e367a83311e5243e04d68857d007d04765a48f9chrisdcheck := TARGET= check
b062c76dff08accbdae415e6fed10ad6696b5a80takashimodlist := TARGET= modlist
7d15331eeb5429d7148d13d6fd914a641bf1c000pquernamodlist := NO_STATE= -K $$MODSTATE$$$$
0ce5630695a7aa568811a9dd0aceedd685f040dend
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend.KEEP_STATE:
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
2704de98885368683621b01c8f8f4e4b01557611takashidef all lint: all_h $(PMTMO_FILE) $($(MACH)_ARCHITECTURES)
2704de98885368683621b01c8f8f4e4b01557611takashi
2704de98885368683621b01c8f8f4e4b01557611takashiinstall: all_h install_dirs $(PMTMO_FILE) $($(MACH)_ARCHITECTURES)
1e367a83311e5243e04d68857d007d04765a48f9chrisd
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendclean clobber: $($(MACH)_ARCHITECTURES)
aa73764d2ad5d41bb2f494e3bae803fa7290806ayoshiki @if [ '$(PATCH_BUILD)' != '#' ] ; then \
c1831d23b0fd2a6d60102f802504e35eec8ffe0byoshiki echo $(RM) $(PMTMO_FILE) ; \
5d8c229294268bca44bd1400700b175c999f41feyoshiki $(RM) $(PMTMO_FILE) ; \
0ce5630695a7aa568811a9dd0aceedd685f040dend fi
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendclean.lint modlist: $($(MACH)_ARCHITECTURES)
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
d87bca6b7382e9f3648aec4fb3419b225c39ee41jiminstall_dirs:
27d778df0b517e1578f907d2e51eb961cd8ee5fbjim @cd ..; pwd; $(MAKE) rootdirs
cf2d22edbf77991ac7736f56b324b978093db17end @pwd
412bf2d2fd3ee0608bc0767e2281e47ea317963end
412bf2d2fd3ee0608bc0767e2281e47ea317963end$($(MACH)_ARCHITECTURES): FRC
82178a3043043b8813c0d7288a06ca1b7d110d4atakashi @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
e5ce3ac0e9b720c0fa23782e29168a0810697fdetakashi
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend$(PMTMO_FILE) pmtmo_file: $(PATCH_MAKEUP_TABLE)
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend @if [ -z "$(PATCH_MAKEUP_TABLE)" ] ; then \
0a69d9bb491d9810892a9949c01403a1de3c7ac2nd echo 'ERROR: $$(PATCH_MAKEUP_TABLE) not set' \
623eebe956d9c2d6d073ed3eae855b56030b40e9noodl 'in environment' >&2 ; \
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend exit 1 ; \
79b024b81f6bb3c44dce77a7552191daf8b522d2jim fi
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin RELEASE="$(RELEASE)" MACH="$(MACH)" \
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin $(CTFCVTPTBL) -o $(PMTMO_FILE) $(PATCH_MAKEUP_TABLE)
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
f195a136dcd90148b116fdae8ce95b41ba92b87eminfrin#
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# The following is the list of directories which contain Makefiles with
d87bca6b7382e9f3648aec4fb3419b225c39ee41jim# targets to install header file. The machine independent headers are
d87bca6b7382e9f3648aec4fb3419b225c39ee41jim# installed by invoking the Makefile in the directory containing the
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# header files. Machine and architecture dependent headers are installed
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# by invoking the main makefile for that architecture/machine which,
0ce5630695a7aa568811a9dd0aceedd685f040dend# in turn, is responsible for invoking the Makefiles which install headers.
40f659ca3ad0b434256bb0af6170bbcdcf5e2cfdyoshiki# It is done this way so as not to assume that all of the header files in
10eed2803538d660048f6e733602e82a75ef6885noodl# the architecture/machine dependent subdirectories are in completely
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# isomorphic locations.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend#
4db28ee269aa06f7c6232e11cd01f58c3349af23noodlCOMMON_HDRDIRS= common/des common/fs common/gssapi common/inet common/net \
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend common/netinet common/nfs common/rpc common/sys common/vm \
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend common/c2 common/pcmcia/sys common/rpcsvc common/inet/kssl \
c7811a175dc15d2172cc95f1c9791bbb6caf9b04nd common/inet/nca common/ipp
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend# These aren't the only headers in closed. But the other directories
0ce5630695a7aa568811a9dd0aceedd685f040dend# are simple enough that they can be driven from the src tree.
7fa75a06a4fee19e995c069ee00310455d1452e1pquerna$(CLOSED_BUILD)COMMON_HDRDIRS += $(CLOSED)/uts/common/sys
0ce5630695a7aa568811a9dd0aceedd685f040dend
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendsparc_HDRDIRS= sun/sys
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendi386_HDRDIRS= i86pc/vm
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendHDRDIRS= $(COMMON_HDRDIRS) $($(MACH)_HDRDIRS)
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendinstall_h check: $(HDRDIRS) $($(MACH)_ARCHITECTURES)
0ce5630695a7aa568811a9dd0aceedd685f040dend
0ce5630695a7aa568811a9dd0aceedd685f040dend$(HDRDIRS): FRC
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend @cd $@; pwd; $(MAKE) $(TARGET)
# ensures that headers made by rpcgen and others are available in uts source
# for kernel builds to reference without building install_h
#
all_h: FRC
@cd common/sys; pwd; $(MAKE) $@
@cd common/rpc; pwd; $(MAKE) $@
@cd common/rpcsvc; pwd; $(MAKE) $@
@cd common/gssapi; pwd; $(MAKE) $@
ONC_FILES= common/io/timod.c \
common/os/sig.c \
common/os/flock.c \
common/os/sysent.c \
common/os/swapgeneric.c \
common/syscall/fcntl.c
# edit onc plus source files.
ONC_PLUS: $(ONC_FILES:%=%_onc_plus)
#
# Cross-reference customization: build a cross-reference over all of
# the supported architectures. Although there's no correct way to set
# the include path (since we don't know what architecture is the one
# the user will be interested in), it's historically been set to
# mirror the $(XRDIRS) list, and that works kinda sorta okay.
#
SHARED_XRDIRS = $(sparc_ARCHITECTURES) $(i386_ARCHITECTURES) sun4 sfmmu \
sun common
CLOSED_XRDIRS = $(SHARED_XRDIRS:%=% ../../closed/uts/%)
XRDIRS = $(SHARED_XRDIRS)
$(CLOSED_BUILD)XRDIRS = $(CLOSED_XRDIRS:../../closed/uts/sfmmu=)
XRINCDIRS = $(XRDIRS)
cscope.out tags: FRC
$(XREF) -x $@
FRC: