xref: /illumos-gate/usr/src/cmd/mdb/Makefile.libstand (revision 0dee7919e2f2a6479d16b370af93747b9416b242)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26#ident	"%Z%%M%	%I%	%E% SMI"
27#
28
29.KEEP_STATE:
30.SUFFIXES:
31
32include ../../Makefile.libstand
33
34SRCS += \
35	bcmp.c \
36	bcopy.c \
37	bsearch.c \
38	bzero.c \
39	ctime.c \
40	ctype.c \
41	errno.c \
42	getopt.c \
43	memchr.c \
44	memcmp.c \
45	memcpy.c \
46	memccpy.c \
47	memmove.c \
48	memset.c \
49	qsort.c \
50	string.c \
51	strtol.c \
52	strtoul.c
53
54# We don't want thread-specific errno's in kmdb, as we're single-threaded.
55DTS_ERRNO=
56
57INCDIRS = \
58	../../../common/libstand \
59	../../libstand \
60	$(ROOT)/usr/include
61
62$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
63CPPFLAGS = $(INCDIRS:%=-I%) -D_KMDB
64
65#
66# kmdb is a kernel module, so we'll use the kernel's build flags.
67CFLAGS += $(STAND_FLAGS_32)
68CFLAGS64 += $(STAND_FLAGS_64)
69
70ASFLAGS += -P -D_ASM
71
72#
73# Reset STRIPFLAG to the empty string.  MDB is intentionally installed
74# with a symbol table in order to help module developers.
75#
76STRIPFLAG =
77
78LINTFLAGS += -n -errtags=yes
79CLINTFILES = $(SRCS:%.c=%.ln)
80LINTFILES = $(CLINTFILES:%.s=%.ln)
81
82LIB = libstand.a
83COBJS = $(SRCS:%.c=%.o)
84OBJS = $(COBJS:%.s=%.o)
85
86.NO_PARALLEL:
87.PARALLEL: $(OBJS) $(LINTFILES)
88
89install all: $(LIB)
90
91$(LIB): $(OBJS)
92	$(AR) r $(LIB) $(OBJS)
93
94clobber clean:
95	$(RM) $(LIB) $(OBJS) $(LINTFILES)
96
97lint: $(LINTFILES)
98	$(LINT) $(LINTFLAGS) $(LINTFILES)
99
100#
101# Dynamic rules for object construction
102#
103
104%.o: ../../../common/libstand/%.c
105	$(COMPILE.c) $<
106	$(CTFCONVERT_O)
107
108%.o: $(SRC)/common/util/%.c
109	$(COMPILE.c) $<
110	$(CTFCONVERT_O)
111
112%.o: $(SRC)/common/util/i386/%.s
113	$(COMPILE.s) $<
114
115%.o: ../../libstand/%.c
116	$(COMPILE.c) -o $@ $<
117	$(CTFCONVERT_O)
118
119%.o: ../../libstand/%.s
120	$(COMPILE.s) -o $@ $<
121
122#
123# Lint
124#
125
126%.ln: ../../../common/libstand/%.c
127	$(LINT.c) -c $<
128
129%.ln: $(SRC)/common/util/%.c
130	$(LINT.c) -c $<
131
132%.ln: $(SRC)/common/util/i386/%.s
133	$(LINT.s) -c $<
134
135%.ln: ../../libstand/%.c
136	$(LINT.c) -c $<
137
138%.ln: %.s
139	$(LINT.s) -c $<
140