1*ac88567aSHyon Kim# 2*ac88567aSHyon Kim# CDDL HEADER START 3*ac88567aSHyon Kim# 4*ac88567aSHyon Kim# The contents of this file are subject to the terms of the 5*ac88567aSHyon Kim# Common Development and Distribution License (the "License"). 6*ac88567aSHyon Kim# You may not use this file except in compliance with the License. 7*ac88567aSHyon Kim# 8*ac88567aSHyon Kim# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*ac88567aSHyon Kim# or http://www.opensolaris.org/os/licensing. 10*ac88567aSHyon Kim# See the License for the specific language governing permissions 11*ac88567aSHyon Kim# and limitations under the License. 12*ac88567aSHyon Kim# 13*ac88567aSHyon Kim# When distributing Covered Code, include this CDDL HEADER in each 14*ac88567aSHyon Kim# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*ac88567aSHyon Kim# If applicable, add the following below this CDDL HEADER, with the 16*ac88567aSHyon Kim# fields enclosed by brackets "[]" replaced with your own identifying 17*ac88567aSHyon Kim# information: Portions Copyright [yyyy] [name of copyright owner] 18*ac88567aSHyon Kim# 19*ac88567aSHyon Kim# CDDL HEADER END 20*ac88567aSHyon Kim# 21*ac88567aSHyon Kim 22*ac88567aSHyon Kim# 23*ac88567aSHyon Kim# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 24*ac88567aSHyon Kim# 25*ac88567aSHyon Kim 26*ac88567aSHyon Kim.KEEP_STATE: 27*ac88567aSHyon Kim.SUFFIXES: 28*ac88567aSHyon Kim 29*ac88567aSHyon Kiminclude ../../../../../../cmd/Makefile.cmd 30*ac88567aSHyon Kiminclude ../../../../Makefile.defs 31*ac88567aSHyon Kim 32*ac88567aSHyon Kim# 33*ac88567aSHyon Kim# Set PROG and OBJS based on the values of MODULE and SRCS. We expect that 34*ac88567aSHyon Kim# these macros to be defined by the Makefile that is including this file. 35*ac88567aSHyon Kim# 36*ac88567aSHyon KimPROG = $(MODULE:%=%.so) 37*ac88567aSHyon KimYOBJS = $(YSRCS:%.y=%.o) 38*ac88567aSHyon KimOBJS = $(YOBJS) $(SRCS:%.c=%.o) 39*ac88567aSHyon Kim 40*ac88567aSHyon Kim# 41*ac88567aSHyon Kim# A module may set DMOD and DMOD_SRCS if it has a mdb proc module. 42*ac88567aSHyon Kim# DMOD, if set, must match PROG above (for mdb autoloading) so it will 43*ac88567aSHyon Kim# be built in a subdirectory. 44*ac88567aSHyon Kim# 45*ac88567aSHyon KimROOTDMOD = $(DMOD:%.so=$(ROOT)/usr/lib/mdb/proc/%.so) 46*ac88567aSHyon KimROOTDMOD64 = $(DMOD:%.so=$(ROOT)/usr/lib/mdb/proc/$(MACH64)/%.so) 47*ac88567aSHyon KimDMODPROG = $(DMOD:%=dmod/%) 48*ac88567aSHyon KimDMOD_OBJS = $(DMOD_SRCS:%.c=%.o) 49*ac88567aSHyon Kim 50*ac88567aSHyon KimROOTPLUGINDIR = $(ROOTPLUGINLIBDIR)/smp/$(PLUGINTYPE) 51*ac88567aSHyon KimROOTPLUGINDIR64 = $(ROOTPLUGINLIBDIR)/smp/$(PLUGINTYPE)/$(MACH64) 52*ac88567aSHyon Kim 53*ac88567aSHyon KimROOTPROG = $(ROOTPLUGINDIR)/$(PROG) 54*ac88567aSHyon KimROOTPROG64 = $(ROOTPLUGINDIR64)/$(PROG) 55*ac88567aSHyon Kim 56*ac88567aSHyon Kim# 57*ac88567aSHyon Kim# A module can set ALIASES as a list of additional names to correspond to the 58*ac88567aSHyon Kim# same library. 59*ac88567aSHyon Kim# 60*ac88567aSHyon KimROOTALIASES = $(ALIASES:%=$(ROOTPLUGINDIR)/%.so) 61*ac88567aSHyon KimROOTALIASES64 = $(ALIASES:%=$(ROOTPLUGINDIR64)/%.so) 62*ac88567aSHyon Kim 63*ac88567aSHyon KimLINTFLAGS += -mu 64*ac88567aSHyon KimLINTFILES = $(SRCS:%.c=%.ln) 65*ac88567aSHyon Kim 66*ac88567aSHyon KimDMODLINTTGT = $(DMOD:%=lint_dmod) 67*ac88567aSHyon KimDMODLINTFILES = $(DMOD_SRCS:%.c=%.ln) 68*ac88567aSHyon Kim 69*ac88567aSHyon KimAPIMAP = ../../../../libsmp/libsmp_api.map 70*ac88567aSHyon Kim 71*ac88567aSHyon KimC99MODE = $(C99_ENABLE) 72*ac88567aSHyon KimCFLAGS += $(CTF_FLAGS) $(CCVERBOSE) $(XSTRCONST) $(CC_PICFLAGS) 73*ac88567aSHyon KimCFLAGS += -G $(XREGSFLAG) 74*ac88567aSHyon KimCFLAGS64 += $(CTF_FLAGS) $(CCVERBOSE) $(XSTRCONST) $(CC_PICFLAGS) 75*ac88567aSHyon KimCFLAGS64 += -G $(XREGSFLAG) 76*ac88567aSHyon KimCPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT 77*ac88567aSHyon Kim$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 78*ac88567aSHyon KimLDFLAGS += $(ZTEXT) $(ZCOMBRELOC) $(ZIGNORE) 79*ac88567aSHyon Kim 80*ac88567aSHyon Kim$(PROG) := LDFLAGS += $(ZDEFS) -M$(APIMAP) 81*ac88567aSHyon Kim$(PROG) := LDLIBS += -lc 82*ac88567aSHyon Kim 83*ac88567aSHyon Kim$(DMODPROG) := LDFLAGS += $(ZNODEFS) 84