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 (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26#
27
28LIBRARY=	libtnfctl.a
29VERS=		.1
30OBJECTS.c=	open.o		\
31		prb_child.o	\
32		prb_shmem.o	\
33		prb_proc.o	\
34		prb_lmap.o	\
35		prb_rtld.o	\
36		prb_findexec.o	\
37		prb_status.o	\
38		util.o		\
39		traverse.o	\
40		sym.o		\
41		elf.o		\
42		continue.o	\
43		checklib.o	\
44		probes.o	\
45		probes_ext.o	\
46		close.o		\
47		targmem.o	\
48		comb.o		\
49		kernel_int.o	\
50		kernel.o	\
51		internal.o	\
52		status.o
53
54
55OBJECTS.s=	$(MACH)_assm.o
56
57OBJECTS=	$(OBJECTS.c) $(OBJECTS.s)
58
59include ../../Makefile.lib
60
61# We omit $(OBJECTS.s:%.o=%.s) in the next line, because lint no like
62SRCS= $(OBJECTS.c:%.o=../%.c)
63
64LIBS=		$(DYNLIB)
65
66HDRS=		tnfctl.h
67ROOTHDRDIR=	$(ROOT)/usr/include/tnf
68ROOTHDRS=	$(HDRS:%=$(ROOTHDRDIR)/%)
69CHECKHDRS=	$(HDRS:%.h=%.check)
70$(ROOTHDRS) := 	FILEMODE = 0644
71CHECKHDRS =	$(HDRS:%.h=%.check)
72
73LDLIBS +=	-lc -lelf
74
75# Uncomment the following line for a debug build
76# COPTFLAG =	-g -DDEBUG $(CCVERBOSE)
77CPPFLAGS +=	-I$(SRC)/lib/libtnfprobe -D_REENTRANT -I$(SRC)/cmd/sgs/include
78
79LINTFLAGS +=	-y
80
81ASFLAGS +=	-P
82
83$(ROOTHDRS) :=	FILEMODE = 644
84
85.KEEP_STATE:
86
87all: $(LIBS)
88
89install_h: $(ROOTHDRDIR) $(ROOTHDRS)
90
91lint:
92	$(LINT.c) $(SRCS)
93
94check: $(CHECKHDRS)
95
96$(ROOTLIBDIR) $(ROOTHDRDIR):
97	$(INS.dir)
98
99$(ROOTHDRDIR)/% : %
100	$(INS.file)
101
102BUILD.s=	$(AS) $< -o $@
103
104objs/%.o pics/%.o: ../%.s
105	$(COMPILE.s) -o $@ $<
106	$(POST_PROCESS_O)
107
108objs/%.o pics/%.o: ../%.c
109	$(COMPILE.c) -o $@ $<
110	$(POST_PROCESS_O)
111
112
113%.o:		../%.c
114	$(COMPILE.c) -o $@ $<
115	$(POST_PROCESS_O)
116
117WARLOCK_FILES= $(OBJECTS.c:%.o=%.ll)
118CLEANFILES= $(WARLOCK_FILES)
119warlock_files:	$(WARLOCK_FILES)
120%.ll:		../%.c
121		wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $<
122warlock:	warlock_files
123		warlock -c wlcmd $(WARLOCK_FILES)
124
125include ../../Makefile.targ
126