xref: /illumos-gate/usr/src/stand/lib/Makefile (revision f9ead4a57883f3ef04ef20d83cc47987d98c0687)
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 2009 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25
26include Makefile.com
27
28i386_SUBDIRS = fs/pcfs fs/compfs
29sparc_SUBDIRS = md5 nvpair scrypt openssl .WAIT wanboot crypto ssl
30SUBDIRS = fakeboot fs/hsfs fs/nfs fs/ufs inet sa sock tcpstubs xdr \
31	tcp $($(MACH)_SUBDIRS)
32
33#
34# It would be groovy if everything was lint-clean, but the crypto and ssl
35# code is third-party swill out of our jurisdiction.  Also, don't lint
36# fakeboot since it doesn't have any source files.
37#
38# If someone can come up with a more elegant way to strip these
39# directories out, please make it so.
40#
41LINTSUBDIRS1 = $(SUBDIRS:openssl=)
42LINTSUBDIRS2 = $(LINTSUBDIRS1:ssl=)
43LINTSUBDIRS3 = $(LINTSUBDIRS2:crypto=)
44LINTSUBDIRS  = $(LINTSUBDIRS3:fakeboot=)
45
46#
47# We can get away with this since we're only building .a's, and by the
48# time we run lint all of the lint libraries have already been built.
49#
50.PARALLEL: $(SUBDIRS)
51
52.KEEP_STATE:
53
54all	:=	TARGET = all
55clean	:=	TARGET = clean
56clobber	:=	TARGET = clobber
57install	:=	TARGET = install
58lint	:=	TARGET = lint
59
60all clean clobber install: $(SUBDIRS)
61
62lint: $(LINTSUBDIRS)
63
64#
65# The reason this rule checks for the existence of the
66# Makefile is that some of the directories do not exist
67# in our exportable source builds.
68#
69$(SUBDIRS): FRC
70	@if [ -f $@/Makefile  ]; then \
71		cd $@; pwd; $(MAKE) $(TARGET); \
72	else \
73		true; \
74	fi
75
76FRC:
77
78#
79# Cross-reference customization: set the include path to be reasonable.
80#
81XRINCDIRS = $(CPPINCS:-YI,%=-I%)
82