Makefile revision bda1f129971950880940a17bab0bf096d5744b0c
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude Makefile.com
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeini386_SUBDIRS = fs/pcfs fs/compfs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinsparc_SUBDIRS = md5 nvpair scrypt openssl .WAIT wanboot crypto ssl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSUBDIRS = fakeboot fs/hsfs fs/nfs fs/ufs inet sa sock tcpstubs xdr \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein tcp $($(MACH)_SUBDIRS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# It would be groovy if everything was lint-clean, but the crypto and ssl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# code is third-party swill out of our jurisdiction. Also, don't lint
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fakeboot since it doesn't have any source files.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If someone can come up with a more elegant way to strip these
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# directories out, please make it so.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTSUBDIRS1 = $(SUBDIRS:openssl=)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTSUBDIRS2 = $(LINTSUBDIRS1:ssl=)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTSUBDIRS3 = $(LINTSUBDIRS2:crypto=)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTSUBDIRS = $(LINTSUBDIRS3:fakeboot=)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# We can get away with this since we're only building .a's, and by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# time we run lint all of the lint libraries have already been built.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.PARALLEL: $(SUBDIRS)
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.KEEP_STATE:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall := TARGET = all
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsclean := TARGET = clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclobber := TARGET = clobber
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall := TARGET = install
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewslint := TARGET = lint
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall clean clobber install: $(SUBDIRS)
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewslint: $(LINTSUBDIRS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews#
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews# The reason this rule checks for the existence of the
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews# Makefile is that some of the directories do not exist
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews# in our exportable source builds.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews$(SUBDIRS): FRC
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews @if [ -f $@/Makefile ]; then \
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews cd $@; pwd; $(MAKE) $(TARGET); \
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews else \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein true; \
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFRC:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Cross-reference customization: set the include path to be reasonable.
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews#
035992291cb70ec3be4046fcea921b4a6acb1c77Mark AndrewsXRINCDIRS = $(CPPINCS:-YI,%=-I%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein