Makefile revision 9e39c5ba00a55fa05777cc94b148296af305e135
436aad11e01e916f75e68a2e9cb89ac217a990d3Tinderbox User#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User#
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User# The contents of this file are subject to the terms of the
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews# Common Development and Distribution License (the "License").
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User# You may not use this file except in compliance with the License.
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User#
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5e047890ac9b745db060d95f7d1b4f876511240dTinderbox User# or http://www.opensolaris.org/os/licensing.
137fdbc214e99c4cbe57551e9e14f2015c2e42aeTinderbox User# See the License for the specific language governing permissions
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User# and limitations under the License.
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews#
02b47c5d62e1e827743684c28a08e871da454a2dMark Andrews# When distributing Covered Code, include this CDDL HEADER in each
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# If applicable, add the following below this CDDL HEADER, with the
e20309353e6246485c521278131d3fced73d7957Tinderbox User# fields enclosed by brackets "[]" replaced with your own identifying
e20309353e6246485c521278131d3fced73d7957Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
9a5217f827ac0e006016745e5305b31dc0c7767fTinderbox User# CDDL HEADER END
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Use is subject to license terms.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
df4ebd8217d02dafc12145b55c4d93d0255d1ec7Tinderbox User# This makefile drives the production of the hermon InfiniBand module
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews#
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# intel architecture dependent
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson#
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# uts/intel/hermon/Makefile
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# Path to the base of the uts directory tree (usually /usr/src/uts).
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User#
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntUTSBASE = ../..
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# Define the module and object file sets.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
24934f08b9ff81c2be711e566e8002d145573031Tinderbox UserMODULE = hermon
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterOBJECTS = $(HERMON_OBJS:%=$(OBJS_DIR)/%)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntLINTS = $(HERMON_OBJS:%.o=$(LINTS_DIR)/%.ln)
24934f08b9ff81c2be711e566e8002d145573031Tinderbox UserROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox UserCONF_SRCDIR = $(UTSBASE)/common/io/ib/adapters/hermon
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntLDFLAGS += -dy -Ndrv/ib -Nmisc/ibtl -Nmisc/ibmf
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox UserWARLOCK_OUT = $(HERMON_OBJS:%.o=%.ll)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterWARLOCK_OK = $(MODULE).ok
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterWLCMD_DIR = $(UTSBASE)/common/io/warlock
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater#
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater# Include common rules.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude $(UTSBASE)/intel/Makefile.intel
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews# Define targets
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews#
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark AndrewsALL_TARGET = $(BINARY) $(SRC_CONFFILE)
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox UserLINT_TARGET = $(MODULE).lint
e20309353e6246485c521278131d3fced73d7957Tinderbox UserINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
24934f08b9ff81c2be711e566e8002d145573031Tinderbox User#
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Overrides
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
7feccf248d2a20a2ae48b290f58ded5abc853e9aTinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
c59750de3ea3c7d5890000fb4606e8f5835a52aaTinderbox User# Build with no debug TNF probes enabled (by default)
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#DEBUG_DEFS_DBG32 += -DTNF_DEBUG
ec7751119a08c6a7250f3187beed69a8b836d349Tinderbox User#DEBUG_DEFS_DBG64 += -DTNF_DEBUG
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews#
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews# lint pass one enforcement
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCFLAGS += $(CCVERBOSE)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Default build targets.
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews#
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater.KEEP_STATE:
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterdef: $(DEF_DEPS)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonall: $(ALL_DEPS)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrewsclean: $(CLEAN_DEPS)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsclobber: $(CLOBBER_DEPS)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox Userlint: $(LINT_DEPS)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrewsmodlintlib: $(MODLINTLIB_DEPS)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrewsclean.lint: $(CLEAN_LINT_DEPS)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontinstall: $(INSTALL_DEPS)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User#
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# Include common targets.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox Userinclude $(UTSBASE)/intel/Makefile.targ
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews#
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews# Defines for local commands.
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater#
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark AndrewsWARLOCK = warlock
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark AndrewsWLCC = wlcc
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox UserTOUCH = touch
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic UpdaterTEST = test
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewswarlock: $(WARLOCK_OK)
551271d8198ae06e37edf5da519d8ee153eeac0fTinderbox User
27c3c21f41520e8d6336d80a8094389e321cb6d2Mark Andrews$(WARLOCK_OK): $(WARLOCK_OUT) warlock_ddi.files $(WLCMD_DIR)/hermon.wlcmd
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(WARLOCK) -c $(WLCMD_DIR)/hermon.wlcmd $(WARLOCK_OUT) -l \
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews $(UTSBASE)/intel/warlock/ddi_dki_impl.ll
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews $(TOUCH) $@
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews%.ll: $(UTSBASE)/common/io/ib/adapters/hermon/%.c
551271d8198ae06e37edf5da519d8ee153eeac0fTinderbox User $(WLCC) $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $<
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews
df4ebd8217d02dafc12145b55c4d93d0255d1ec7Tinderbox Userwarlock_ddi.files:
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater @cd $(UTSBASE)/intel/warlock; pwd; $(MAKE) warlock
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater