xref: /illumos-gate/usr/src/cmd/mdb/Makefile.libstand (revision 89518a1cfe5021ecf5ad8d04c40f53cf947e95d9)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
57c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
67c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
77c478bd9Sstevel@tonic-gate# with the License.
87c478bd9Sstevel@tonic-gate#
97c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
117c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
127c478bd9Sstevel@tonic-gate# and limitations under the License.
137c478bd9Sstevel@tonic-gate#
147c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
157c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
177c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
187c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
197c478bd9Sstevel@tonic-gate#
207c478bd9Sstevel@tonic-gate# CDDL HEADER END
217c478bd9Sstevel@tonic-gate#
227c478bd9Sstevel@tonic-gate#
237c478bd9Sstevel@tonic-gate# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate# Use is subject to license terms.
257c478bd9Sstevel@tonic-gate#
267c478bd9Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
277c478bd9Sstevel@tonic-gate#
287c478bd9Sstevel@tonic-gate
297c478bd9Sstevel@tonic-gate.KEEP_STATE:
307c478bd9Sstevel@tonic-gate.SUFFIXES:
317c478bd9Sstevel@tonic-gate
327c478bd9Sstevel@tonic-gateinclude ../../Makefile.libstand
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gateSRCS += \
357c478bd9Sstevel@tonic-gate	bcmp.c \
367c478bd9Sstevel@tonic-gate	bcopy.c \
377c478bd9Sstevel@tonic-gate	bsearch.c \
387c478bd9Sstevel@tonic-gate	bzero.c \
397c478bd9Sstevel@tonic-gate	ctime.c \
407c478bd9Sstevel@tonic-gate	ctype.c \
417c478bd9Sstevel@tonic-gate	errno.c \
427c478bd9Sstevel@tonic-gate	getopt.c \
437c478bd9Sstevel@tonic-gate	memchr.c \
447c478bd9Sstevel@tonic-gate	memcmp.c \
457c478bd9Sstevel@tonic-gate	memcpy.c \
467c478bd9Sstevel@tonic-gate	memccpy.c \
477c478bd9Sstevel@tonic-gate	memmove.c \
487c478bd9Sstevel@tonic-gate	memset.c \
497c478bd9Sstevel@tonic-gate	qsort.c \
507c478bd9Sstevel@tonic-gate	string.c \
517c478bd9Sstevel@tonic-gate	strtol.c \
527c478bd9Sstevel@tonic-gate	strtoul.c
537c478bd9Sstevel@tonic-gate
547c478bd9Sstevel@tonic-gate# We don't want thread-specific errno's in kmdb, as we're single-threaded.
557c478bd9Sstevel@tonic-gateDTS_ERRNO=
567c478bd9Sstevel@tonic-gate
577c478bd9Sstevel@tonic-gateINCDIRS = \
587c478bd9Sstevel@tonic-gate	../../../common/libstand \
597c478bd9Sstevel@tonic-gate	../../libstand \
607c478bd9Sstevel@tonic-gate	$(ROOT)/usr/include
617c478bd9Sstevel@tonic-gate
627c478bd9Sstevel@tonic-gate$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
637c478bd9Sstevel@tonic-gateCPPFLAGS = $(INCDIRS:%=-I%) -D_KMDB
647c478bd9Sstevel@tonic-gate
657c478bd9Sstevel@tonic-gate#
667c478bd9Sstevel@tonic-gate# kmdb is a kernel module, so we'll use the kernel's build flags.
677c478bd9Sstevel@tonic-gateCFLAGS += $(STAND_FLAGS_32)
687c478bd9Sstevel@tonic-gateCFLAGS64 += $(STAND_FLAGS_64)
697c478bd9Sstevel@tonic-gate
707c478bd9Sstevel@tonic-gateASFLAGS += -P -D_ASM
717c478bd9Sstevel@tonic-gate
727c478bd9Sstevel@tonic-gate#
737c478bd9Sstevel@tonic-gate# Reset STRIPFLAG to the empty string.  MDB is intentionally installed
747c478bd9Sstevel@tonic-gate# with a symbol table in order to help module developers.
757c478bd9Sstevel@tonic-gate#
767c478bd9Sstevel@tonic-gateSTRIPFLAG =
777c478bd9Sstevel@tonic-gate
787c478bd9Sstevel@tonic-gateLINTFLAGS += -n -errtags=yes
797c478bd9Sstevel@tonic-gateCLINTFILES = $(SRCS:%.c=%.ln)
807c478bd9Sstevel@tonic-gateLINTFILES = $(CLINTFILES:%.s=%.ln)
817c478bd9Sstevel@tonic-gate
827c478bd9Sstevel@tonic-gateLIB = libstand.a
837c478bd9Sstevel@tonic-gateCOBJS = $(SRCS:%.c=%.o)
847c478bd9Sstevel@tonic-gateOBJS = $(COBJS:%.s=%.o)
857c478bd9Sstevel@tonic-gate
867c478bd9Sstevel@tonic-gate.NO_PARALLEL:
877c478bd9Sstevel@tonic-gate.PARALLEL: $(OBJS) $(LINTFILES)
887c478bd9Sstevel@tonic-gate
897c478bd9Sstevel@tonic-gateinstall all: $(LIB)
907c478bd9Sstevel@tonic-gate
917c478bd9Sstevel@tonic-gate$(LIB): $(OBJS)
927c478bd9Sstevel@tonic-gate	$(AR) r $(LIB) $(OBJS)
937c478bd9Sstevel@tonic-gate
947c478bd9Sstevel@tonic-gateclobber clean:
957c478bd9Sstevel@tonic-gate	$(RM) $(LIB) $(OBJS) $(LINTFILES)
967c478bd9Sstevel@tonic-gate
977c478bd9Sstevel@tonic-gatelint: $(LINTFILES)
987c478bd9Sstevel@tonic-gate	$(LINT) $(LINTFLAGS) $(LINTFILES)
997c478bd9Sstevel@tonic-gate
1007c478bd9Sstevel@tonic-gate#
1017c478bd9Sstevel@tonic-gate# Dynamic rules for object construction
1027c478bd9Sstevel@tonic-gate#
1037c478bd9Sstevel@tonic-gate
1047c478bd9Sstevel@tonic-gate%.o: ../../../common/libstand/%.c
1057c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
1067c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1077c478bd9Sstevel@tonic-gate
1087c478bd9Sstevel@tonic-gate%.o: $(SRC)/common/util/%.c
1097c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
1107c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1117c478bd9Sstevel@tonic-gate
112*89518a1cSdmick%.o: $(SRC)/common/util/i386/%.s
113*89518a1cSdmick	$(COMPILE.s) $<
114*89518a1cSdmick
1157c478bd9Sstevel@tonic-gate%.o: ../../libstand/%.c
1167c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1177c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1187c478bd9Sstevel@tonic-gate
1197c478bd9Sstevel@tonic-gate%.o: ../../libstand/%.s
1207c478bd9Sstevel@tonic-gate	$(COMPILE.s) -o $@ $<
1217c478bd9Sstevel@tonic-gate
1227c478bd9Sstevel@tonic-gate#
1237c478bd9Sstevel@tonic-gate# Lint
1247c478bd9Sstevel@tonic-gate#
1257c478bd9Sstevel@tonic-gate
1267c478bd9Sstevel@tonic-gate%.ln: ../../../common/libstand/%.c
1277c478bd9Sstevel@tonic-gate	$(LINT.c) -c $<
1287c478bd9Sstevel@tonic-gate
1297c478bd9Sstevel@tonic-gate%.ln: $(SRC)/common/util/%.c
1307c478bd9Sstevel@tonic-gate	$(LINT.c) -c $<
1317c478bd9Sstevel@tonic-gate
132*89518a1cSdmick%.ln: $(SRC)/common/util/i386/%.s
133*89518a1cSdmick	$(LINT.s) -c $<
134*89518a1cSdmick
1357c478bd9Sstevel@tonic-gate%.ln: ../../libstand/%.c
1367c478bd9Sstevel@tonic-gate	$(LINT.c) -c $<
1377c478bd9Sstevel@tonic-gate
1387c478bd9Sstevel@tonic-gate%.ln: %.s
1397c478bd9Sstevel@tonic-gate	$(LINT.s) -c $<
140