Makefile revision 88447a05f537aabe9a1bc3d5313f22581ec992a7
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater# 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
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# include global definitions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../../Makefile.master
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHDRS= \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinavintr.h \
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrewsbootconf.h bpp_reg.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinbpp_var.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincg3var.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincg6fbc.h cg6reg.h cg6tec.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincg6thc.h cg6var.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindkmpio.h dmaga.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfdreg.h fdvar.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinhme.h hme_mac.h hme_phy.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmemvar.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinobpdefs.h pixrect.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpr_impl_util.h pr_planegroups.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpromif.h promimpl.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinramdac.h ser_async.h ser_zscc.h \
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrewssocalio.h socalreg.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinsocal_cq_defs.h socalmap.h socalvar.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinstp4020_reg.h stp4020_var.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinttymux.h ttymuxuser.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinzsdev.h
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSCSIADHDRS= \
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updaterespcmd.h espreg.h espvar.h fascmd.h fasdma.h \
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updaterfasreg.h fasvar.h ifpio.h sfvar.h
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLOSED_SCSIAD = $(CLOSED)/uts/sun/sys/scsi/adapters
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLOSED_SCSIADHDRS= \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifpcmd.h ifpmail.h ifpreg.h ifpvar.h \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinispcmd.h ispmail.h ispreg.h ispvar.h
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSCSITARGHDRS= \
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTDIR= $(ROOT)/usr/include/sys
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark AndrewsROOTDIRS= $(ROOTDIR) \
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews $(ROOTDIR)/audio \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ROOTDIR)/scsi/adapters \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ROOTDIR)/scsi/targets
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTHDRS= $(HDRS:%=$(ROOTDIR)/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(CLOSED_BUILD)ROOTHDRS += $(CLOSED_HDRS:%=$(ROOTDIR)/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTFCHDRS= $(FCHDRS:%=$(ROOTDIR)/fc4/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTSCSIADHDRS= $(SCSIADHDRS:%=$(ROOTDIR)/scsi/adapters/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(CLOSED_BUILD)ROOTSCSIADHDRS += \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CLOSED_SCSIADHDRS:%=$(ROOTDIR)/scsi/adapters/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTSCSITARGHDRS= $(SCSITARGHDRS:%=$(ROOTDIR)/scsi/targets/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# install rules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTDIR)/%: %
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(INS.file)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTDIR)/%: $(CLOSED)/uts/sun/sys/%
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(INS.file)
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater$(ROOTDIR)/audio/%: audio/%
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater $(INS.file)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater$(ROOTDIR)/scsi/adapters/%: scsi/adapters/%
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater $(INS.file)
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$(ROOTDIR)/scsi/adapters/%: $(CLOSED_SCSIAD)/%
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews $(INS.file)
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater$(ROOTDIR)/scsi/targets/%: scsi/targets/%
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $(INS.file)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# check files really don't exist
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceaudio/%.check: audio/%.h
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(DOT_H_CHECK)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucescsi/adapters/%.check: scsi/adapters/%.h
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(DOT_H_CHECK)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrewsscsi/targets/%.check: scsi/targets/%.h
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(DOT_H_CHECK)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceCHECKHDRS= \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(HDRS:%.h=%.check) \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(FCHDRS:%.h=fc4/%.check) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(SCSIADHDRS:%.h=scsi/adapters/%.check) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(SCSITARGHDRS:%.h=scsi/targets/%.check)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(CLOSED_BUILD)CHECKHDRS += \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CLOSED_HDRS:%.h=$(CLOSED)/uts/sun/sys/%.check) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CLOSED_SCSIADHDRS:%.h=$(CLOSED_SCSIAD)/%.check)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# headers which won't quite meet the standards...
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# devops.h has a macro where the formal parameters to the macro are greater
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# than 80 characters. cpp (or the equivalent built into acomp) does not allow
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# continuation line breaks in the formal parameter list. This could be fixed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# by giving shorter names to the formal parameters, but the right fix is to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fix cpp. (Also, /* CSTYLED */ doesn't seem to fix this.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updaterdevops.check := CSTYLE_TAIL = | grep -v "line > 80 characters" | true
4abdfc917e6635a7c81d1f931a0c79227e72d025Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.KEEP_STATE:
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater.PARALLEL: $(CHECKHDRS) $(ROOTHDRS) $(ROOTAUDHDRS) $(ROOTAUDIMPLHDRS) \
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater $(ROOTSCSIADHDRS) $(ROOTSCSITARGHDRS) $(ROOTXHDRS) \
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater $(ROOTFCHDRS)
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updaterinstall_h: $(ROOTDIRS) .WAIT $(ROOTHDRS) \
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater $(ROOTAUDHDRS) $(ROOTAUDIMPLHDRS) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ROOTSCSIADHDRS) $(ROOTSCSITARGHDRS) $(ROOTFCHDRS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews$(ROOTDIRS):
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(INS.dir)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincheck: $(CHECKHDRS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein