Makefile revision bf56214c0556fa6864189c826d39dbe156bb22a0
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
d8c71aacc9f1c8cd40a8ad8dcdad9be8854b849fChristian Maeder#
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
c90087f49069855bf684b699f9ca1e2d65eac20bChristian Maeder#
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder# CDDL HEADER END
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maeder#
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder#
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder# uts/sparc/ecpp/Makefile
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski# Use is subject to license terms.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#ident "%Z%%M% %I% %E% SMI"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# This Makefile drives the production of ecpp
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# kernel module.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder#
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder# Path to the base of the uts directory tree (usually /usr/src/uts).
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian MaederUTSBASE = ../..
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder# Define the module and object file sets.
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederMODULE = ecpp
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian MaederOBJECTS = $(ECPP_OBJS:%=$(OBJS_DIR)/%)
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederLINTS = $(ECPP_OBJS:%.o=$(LINTS_DIR)/%.ln)
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederCONF_SRCDIR = $(UTSBASE)/common/io
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederWARLOCK_OUT = $(ECPP_OBJS:%.o=%.ll)
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederWARLOCK_OK = $(MODULE).ok
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederWLCMD_DIR = $(UTSBASE)/common/io/warlock
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder
d4892fa7401ceef014ea59d2d900773eaf88fcbdChristian Maeder#
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder# Include common rules.
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder#
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maederinclude $(UTSBASE)/sparc/Makefile.sparc
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Define targets
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian MaederALL_TARGET = $(BINARY) $(SRC_CONFILE)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederLINT_TARGET = $(MODULE).lint
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# lint pass one enforcement
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCFLAGS += $(CCVERBOSE)
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder
f13d1e86e58da53680e78043e8df182eed867efbChristian Maeder# Turn this on once compiler understands v9 in it's backend
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder#INLINES += $(UTSBASE)/sun/io/ecpp.il
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian Maeder# For now, disable these lint checks; maintainers should endeavor
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder# to investigate and remove these for maximum lint coverage.
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski# Please do not carry these forward to new Makefiles.
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
abf2487c3aece95c371ea89ac64319370dcb6483Klaus LuettichLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder# Default build targets.
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder#
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder.KEEP_STATE:
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maederdef: $(DEF_DEPS)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederall: $(ALL_DEPS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederclean: $(CLEAN_DEPS)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederclobber: $(CLOBBER_DEPS)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maedermodlintlib: $(MODLINTLIB_DEPS) lint64
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederclean.lint: $(CLEAN_LINT_DEPS)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maederinstall: $(INSTALL_DEPS)
c9acb8681bcc512245b4f0d1a9f2b189c60e10d4Christian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Include common targets.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederinclude $(UTSBASE)/sparc/Makefile.targ
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Defines for local commands.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederWARLOCK = warlock
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWLCC = wlcc
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederTOUCH = touch
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederTEST = test
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# lock_lint rules
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederwarlock: $(WARLOCK_OK)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/ecpp.wlcmd warlock_ddi.files
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder $(WARLOCK) -c $(WLCMD_DIR)/ecpp.wlcmd $(WARLOCK_OUT) \
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder -l ../warlock/ddi_dki_impl.ll
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(TOUCH) $@
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder%.ll: $(UTSBASE)/common/io/%.c $(UTSBASE)/common/sys/ecppvar.h \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(UTSBASE)/common/sys/ecppio.h
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederwarlock_ddi.files:
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder cd ../warlock; pwd; $(MAKE) warlock
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder