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