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/intel/nsmb/Makefile 234bff34e3Sthurlow# 24613a2f6bSGordon Ross# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 254bff34e3Sthurlow# Use is subject to license terms. 264bff34e3Sthurlow# 27b6b206fcSJohn Levon# Copyright (c) 2018, Joyent, Inc. 28613a2f6bSGordon Ross 294bff34e3Sthurlow# 304bff34e3Sthurlow# intel architecture dependent 314bff34e3Sthurlow# 324bff34e3Sthurlow 334bff34e3Sthurlow# 344bff34e3Sthurlow# Path to the base of the uts directory tree (usually /usr/src/uts). 354bff34e3Sthurlow# 364bff34e3SthurlowUTSBASE = ../.. 374bff34e3Sthurlow 384bff34e3Sthurlow# 394bff34e3Sthurlow# Define the module and object file sets. 404bff34e3Sthurlow# 414bff34e3SthurlowMODULE = nsmb 424bff34e3SthurlowOBJECTS = $(NSMB_OBJS:%=$(OBJS_DIR)/%) 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)/intel/Makefile.intel 524bff34e3Sthurlow 534bff34e3Sthurlow# 544bff34e3Sthurlow# Define targets 554bff34e3Sthurlow# 56bbbed746SGordon RossALL_TARGET = $(ALL_TARGET_$(OBJS_DIR)) 57bbbed746SGordon RossINSTALL_TARGET = $(INSTALL_TARGET_$(OBJS_DIR)) 584bff34e3Sthurlow 594bff34e3Sthurlow# 604bff34e3Sthurlow# Overrides. 614bff34e3Sthurlow# 62bbbed746SGordon Ross# We need some unusual overrides here so we'll 63bbbed746SGordon Ross# build ioc_check.h for both 32-bit/64-bit, 64bbbed746SGordon Ross# but only build 64-bit binaries. 65bbbed746SGordon Ross# 66bbbed746SGordon Ross 67bbbed746SGordon Ross# Build 32-bit also... 68bbbed746SGordon RossDEF_BUILDS = $(DEF_BUILDS64) $(DEF_BUILDS32) 69bbbed746SGordon RossALL_BUILDS = $(ALL_BUILDS64) $(ALL_BUILDS32) 70bbbed746SGordon Ross# ... but don't build any 32-bit objects 71bbbed746SGordon RossALL_TARGET_debug32 = $(IOC_CHECK_H) 72bbbed746SGordon RossALL_TARGET_debug64 = $(BINARY) $(SRC_CONFILE) 73bbbed746SGordon RossALL_TARGET_obj32 = $(IOC_CHECK_H) 74bbbed746SGordon RossALL_TARGET_obj64 = $(BINARY) $(SRC_CONFILE) 75bbbed746SGordon Ross# ... and remove -xcg92 (not supported by cw) 76bbbed746SGordon RossCFLAGS_32= 77bbbed746SGordon Ross# ... same deal for install targets 78bbbed746SGordon RossINSTALL_TARGET_debug32 = $(IOC_CHECK_H) 79bbbed746SGordon RossINSTALL_TARGET_debug64 = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 80bbbed746SGordon RossINSTALL_TARGET_obj32 = $(IOC_CHECK_H) 81bbbed746SGordon RossINSTALL_TARGET_obj64 = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 82bbbed746SGordon Ross 83bbbed746SGordon Ross# 84bbbed746SGordon Ross# Now the normal overrides... 85bbbed746SGordon Ross# 86*41e0a469SRichard LoweCLEANFILES += $(IOC_CHECK_H) 874bff34e3SthurlowINC_PATH += -I$(UTSBASE)/common/fs/smbclnt 8882d0151aSRichard LoweLDFLAGS += -Ncrypto/md4 -Ncrypto/md5 -Nmisc/tlimod 894bff34e3Sthurlow 900aaef2f5SRichard Lowe# 910aaef2f5SRichard Lowe# For now, disable these warnings; maintainers should endeavor 920aaef2f5SRichard Lowe# to investigate and remove these for maximum coverage. 930aaef2f5SRichard Lowe# Please do not carry these forward to new Makefiles. 940aaef2f5SRichard Lowe# 954bff34e3Sthurlow 96878eeb1bSGordon Ross# The mb_put/md_get functions are intentionally used with and without 970aaef2f5SRichard Lowe# return value checks, so filter those. 98b6b206fcSJohn LevonSMOFF += all_func_returns 99b6b206fcSJohn Levon 100b6b206fcSJohn Levon# needs work 101b6b206fcSJohn LevonSMOFF += signed,deref_check 102b6b206fcSJohn Levon 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 1164bff34e3Sthurlowinstall: $(INSTALL_DEPS) 1174bff34e3Sthurlow 1184bff34e3Sthurlow# 1194bff34e3Sthurlow# Create ioc_check.h and compare with the saved 1204bff34e3Sthurlow# ioc_check.ref to ensure 32/64-bit invariance. 1214bff34e3Sthurlow# 1224bff34e3Sthurlow$(OBJECTS) : $(IOC_CHECK_H) 1234bff34e3Sthurlow$(IOC_CHECK_H): $(OFFSETS_SRC) 1244bff34e3Sthurlow $(OFFSETS_CREATE) <$(OFFSETS_SRC) >$@.tmp 1254bff34e3Sthurlow cmp -s ioc_check.ref $@.tmp && \ 12602d09e03SGordon Ross mv -f $@.tmp $@ 1274bff34e3Sthurlow 1284bff34e3Sthurlow# 1294bff34e3Sthurlow# Include common targets. 1304bff34e3Sthurlow# 1314bff34e3Sthurlowinclude $(UTSBASE)/intel/Makefile.targ 132