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