xref: /titanic_51/usr/src/uts/sparc/nsmb/Makefile (revision 02d09e03eb27f3a2dc299de704e45dae5173f43f)
14bff34e3Sthurlow#
24bff34e3Sthurlow# CDDL HEADER START
34bff34e3Sthurlow#
44bff34e3Sthurlow# The contents of this file are subject to the terms of the
54bff34e3Sthurlow# Common Development and Distribution License (the "License").
64bff34e3Sthurlow# You may not use this file except in compliance with the License.
74bff34e3Sthurlow#
84bff34e3Sthurlow# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
94bff34e3Sthurlow# or http://www.opensolaris.org/os/licensing.
104bff34e3Sthurlow# See the License for the specific language governing permissions
114bff34e3Sthurlow# and limitations under the License.
124bff34e3Sthurlow#
134bff34e3Sthurlow# When distributing Covered Code, include this CDDL HEADER in each
144bff34e3Sthurlow# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
154bff34e3Sthurlow# If applicable, add the following below this CDDL HEADER, with the
164bff34e3Sthurlow# fields enclosed by brackets "[]" replaced with your own identifying
174bff34e3Sthurlow# information: Portions Copyright [yyyy] [name of copyright owner]
184bff34e3Sthurlow#
194bff34e3Sthurlow# CDDL HEADER END
204bff34e3Sthurlow#
214bff34e3Sthurlow#
224bff34e3Sthurlow# uts/sparc/nsmb/Makefile
234bff34e3Sthurlow#
24613a2f6bSGordon Ross# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
254bff34e3Sthurlow# Use is subject to license terms.
264bff34e3Sthurlow#
27613a2f6bSGordon Ross
284bff34e3Sthurlow#
294bff34e3Sthurlow#	sparc architecture dependent
304bff34e3Sthurlow#
314bff34e3Sthurlow
324bff34e3Sthurlow#
334bff34e3Sthurlow#	Path to the base of the uts directory tree (usually /usr/src/uts).
344bff34e3Sthurlow#
354bff34e3SthurlowUTSBASE	= ../..
364bff34e3Sthurlow
374bff34e3Sthurlow#
384bff34e3Sthurlow#	Define the module and object file sets.
394bff34e3Sthurlow#
404bff34e3SthurlowMODULE		= nsmb
414bff34e3SthurlowOBJECTS		= $(NSMB_OBJS:%=$(OBJS_DIR)/%)
424bff34e3SthurlowLINTS		= $(NSMB_OBJS:%.o=$(LINTS_DIR)/%.ln)
434bff34e3SthurlowROOTMODULE	= $(USR_DRV_DIR)/$(MODULE)
444bff34e3SthurlowCONF_SRCDIR	= $(UTSBASE)/common/fs/smbclnt/netsmb
454bff34e3SthurlowOFFSETS_SRC	= $(CONF_SRCDIR)/offsets.in
464bff34e3SthurlowIOC_CHECK_H	= $(OBJS_DIR)/ioc_check.h
474bff34e3Sthurlow
484bff34e3Sthurlow#
494bff34e3Sthurlow#	Include common rules.
504bff34e3Sthurlow#
514bff34e3Sthurlowinclude $(UTSBASE)/sparc/Makefile.sparc
524bff34e3Sthurlow
534bff34e3Sthurlow#
544bff34e3Sthurlow#	Define targets
554bff34e3Sthurlow#
564bff34e3SthurlowALL_TARGET	= $(ALL_TARGET_$(OBJS_DIR))
574bff34e3SthurlowLINT_TARGET	= $(MODULE).lint
584bff34e3SthurlowINSTALL_TARGET	= $(INSTALL_TARGET_$(OBJS_DIR))
594bff34e3Sthurlow
604bff34e3Sthurlow#
614bff34e3Sthurlow#	Overrides.
624bff34e3Sthurlow#
634bff34e3Sthurlow#	We need some unusual overrides here so we'll
644bff34e3Sthurlow#	build ioc_check.h for both 32-bit/64-bit,
654bff34e3Sthurlow#	but only build 64-bit binaries.
664bff34e3Sthurlow#
674bff34e3Sthurlow
684bff34e3Sthurlow# Build 32-bit also...
694bff34e3SthurlowDEF_BUILDS	= $(DEF_BUILDS64) $(DEF_BUILDS32)
704bff34e3SthurlowALL_BUILDS	= $(ALL_BUILDS64) $(ALL_BUILDS32)
714bff34e3Sthurlow# ... but don't build any 32-bit objects
724bff34e3SthurlowALL_TARGET_debug32	= $(IOC_CHECK_H)
734bff34e3SthurlowALL_TARGET_debug64	= $(BINARY) $(SRC_CONFILE)
744bff34e3SthurlowALL_TARGET_obj32	= $(IOC_CHECK_H)
754bff34e3SthurlowALL_TARGET_obj64	= $(BINARY) $(SRC_CONFILE)
764bff34e3Sthurlow# ... and remove -xcg92 (not supported by cw)
774bff34e3SthurlowCFLAGS_32=
784bff34e3Sthurlow# ... same deal for install targets
794bff34e3SthurlowINSTALL_TARGET_debug32	= $(IOC_CHECK_H)
804bff34e3SthurlowINSTALL_TARGET_debug64	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
814bff34e3SthurlowINSTALL_TARGET_obj32	= $(IOC_CHECK_H)
824bff34e3SthurlowINSTALL_TARGET_obj64	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
834bff34e3Sthurlow
844bff34e3Sthurlow#
854bff34e3Sthurlow# Now the normal overrides...
864bff34e3Sthurlow#
874bff34e3SthurlowMODSTUBS_DIR	= $(OBJS_DIR)
884bff34e3Sthurlow$(MODSTUBS_O)	:= AS_CPPFLAGS += -DNSMB_MODULE
894bff34e3SthurlowCLEANFILES	+= $(MODSTUBS_O) $(IOC_CHECK_H)
904bff34e3SthurlowC99MODE		= $(C99_ENABLE)
914bff34e3SthurlowCERRWARN	+= -erroff=E_STATEMENT_NOT_REACHED
924bff34e3SthurlowINC_PATH	+= -I$(UTSBASE)/common/fs/smbclnt
934bff34e3SthurlowLDFLAGS         += -dy -Ncrypto/md4 -Ncrypto/md5 -Nmisc/tlimod
944bff34e3Sthurlow
95613a2f6bSGordon Ross# Until CR 4994570 is fixed...
96613a2f6bSGordon RossLINTTAGS	+= -erroff=E_BAD_FORMAT_ARG_TYPE2
974bff34e3Sthurlow
98878eeb1bSGordon Ross# The mb_put/md_get functions are intentionally used with and without
99878eeb1bSGordon Ross# return value checks, so filter those out like LGREP.2 does.
100*02d09e03SGordon RossLGREP.nsmb =	egrep -v ' ignored: (mb_init|mb_put|md_get)'
101878eeb1bSGordon RossLTAIL	+=	2>&1 | $(LGREP.2) | $(LGREP.nsmb) || true
102878eeb1bSGordon Ross
1034bff34e3Sthurlow#
1044bff34e3Sthurlow#	Default build targets.
1054bff34e3Sthurlow#
1064bff34e3Sthurlow.KEEP_STATE:
1074bff34e3Sthurlow
1084bff34e3Sthurlowdef:		$(DEF_DEPS)
1094bff34e3Sthurlow
1104bff34e3Sthurlowall:		$(ALL_DEPS)
1114bff34e3Sthurlow
1124bff34e3Sthurlowclean:		$(CLEAN_DEPS)
1134bff34e3Sthurlow
1144bff34e3Sthurlowclobber:	$(CLOBBER_DEPS)
1154bff34e3Sthurlow
1164bff34e3Sthurlowlint:		$(LINT_DEPS)
1174bff34e3Sthurlow
1184bff34e3Sthurlowmodlintlib:	$(MODLINTLIB_DEPS)
1194bff34e3Sthurlow
1204bff34e3Sthurlowclean.lint:	$(CLEAN_LINT_DEPS)
1214bff34e3Sthurlow
1224bff34e3Sthurlowinstall:	$(INSTALL_DEPS)
1234bff34e3Sthurlow
1244bff34e3Sthurlow#
1254bff34e3Sthurlow# Create ioc_check.h and compare with the saved
1264bff34e3Sthurlow# ioc_check.ref to ensure 32/64-bit invariance.
1274bff34e3Sthurlow# We don't need _ASM_INLINES for this, and it
1284bff34e3Sthurlow# causes #error "port me" in 32-bit builds.
1294bff34e3Sthurlow#
1304bff34e3Sthurlow$(OBJECTS) : $(IOC_CHECK_H)
1314bff34e3Sthurlow$(IOC_CHECK_H): $(OFFSETS_SRC)
1324bff34e3Sthurlow	$(OFFSETS_CREATE) -U_ASM_INLINES \
1334bff34e3Sthurlow	  <$(OFFSETS_SRC) >$@.tmp
1344bff34e3Sthurlow	cmp -s ioc_check.ref $@.tmp && \
1354bff34e3Sthurlow	  mv -f $@.tmp $@
1364bff34e3Sthurlow
1374bff34e3Sthurlow#
1384bff34e3Sthurlow#	Include common targets.
1394bff34e3Sthurlow#
1404bff34e3Sthurlowinclude $(UTSBASE)/sparc/Makefile.targ
141