xref: /titanic_51/usr/src/lib/libdtrace/Makefile.com (revision e04145d08b77ade206d51c2367bebfc06f3e87f8)
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
5f808c858Sraf# Common Development and Distribution License (the "License").
6f808c858Sraf# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
217c478bd9Sstevel@tonic-gate#
22*e04145d0Seschrock# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate# Use is subject to license terms.
247c478bd9Sstevel@tonic-gate#
257c478bd9Sstevel@tonic-gate# ident	"%Z%%M%	%I%	%E% SMI"
267c478bd9Sstevel@tonic-gate#
277c478bd9Sstevel@tonic-gate
287c478bd9Sstevel@tonic-gateLIBRARY = libdtrace.a
297c478bd9Sstevel@tonic-gateVERS = .1
307c478bd9Sstevel@tonic-gate
317c478bd9Sstevel@tonic-gateLIBSRCS = \
327c478bd9Sstevel@tonic-gate	dt_aggregate.c \
337c478bd9Sstevel@tonic-gate	dt_as.c \
347c478bd9Sstevel@tonic-gate	dt_buf.c \
357c478bd9Sstevel@tonic-gate	dt_cc.c \
367c478bd9Sstevel@tonic-gate	dt_cg.c \
377c478bd9Sstevel@tonic-gate	dt_consume.c \
387c478bd9Sstevel@tonic-gate	dt_decl.c \
397c478bd9Sstevel@tonic-gate	dt_dis.c \
407c478bd9Sstevel@tonic-gate	dt_dof.c \
417c478bd9Sstevel@tonic-gate	dt_error.c \
427c478bd9Sstevel@tonic-gate	dt_errtags.c \
437c478bd9Sstevel@tonic-gate	dt_handle.c \
447c478bd9Sstevel@tonic-gate	dt_ident.c \
457c478bd9Sstevel@tonic-gate	dt_inttab.c \
467c478bd9Sstevel@tonic-gate	dt_link.c \
477c478bd9Sstevel@tonic-gate	dt_list.c \
487c478bd9Sstevel@tonic-gate	dt_open.c \
497c478bd9Sstevel@tonic-gate	dt_options.c \
507c478bd9Sstevel@tonic-gate	dt_program.c \
517c478bd9Sstevel@tonic-gate	dt_map.c \
527c478bd9Sstevel@tonic-gate	dt_module.c \
531a7c1b72Smws	dt_names.c \
547c478bd9Sstevel@tonic-gate	dt_parser.c \
557c478bd9Sstevel@tonic-gate	dt_pcb.c \
567c478bd9Sstevel@tonic-gate	dt_pid.c \
577c478bd9Sstevel@tonic-gate	dt_pragma.c \
587c478bd9Sstevel@tonic-gate	dt_printf.c \
597c478bd9Sstevel@tonic-gate	dt_proc.c \
607c478bd9Sstevel@tonic-gate	dt_provider.c \
617c478bd9Sstevel@tonic-gate	dt_regset.c \
627c478bd9Sstevel@tonic-gate        dt_string.c \
637c478bd9Sstevel@tonic-gate	dt_strtab.c \
647c478bd9Sstevel@tonic-gate	dt_subr.c \
657c478bd9Sstevel@tonic-gate	dt_work.c \
667c478bd9Sstevel@tonic-gate	dt_xlator.c
677c478bd9Sstevel@tonic-gate
687c478bd9Sstevel@tonic-gateLIBISASRCS = \
697c478bd9Sstevel@tonic-gate	dt_isadep.c
707c478bd9Sstevel@tonic-gate
717c478bd9Sstevel@tonic-gateOBJECTS = dt_lex.o dt_grammar.o $(MACHOBJS) $(LIBSRCS:%.c=%.o) $(LIBISASRCS:%.c=%.o)
727c478bd9Sstevel@tonic-gate
737c478bd9Sstevel@tonic-gateDRTISRC = drti.c
747c478bd9Sstevel@tonic-gateDRTIOBJ = $(DRTISRC:%.c=%.o)
757c478bd9Sstevel@tonic-gate
767c478bd9Sstevel@tonic-gateDLIBSRCS += \
777c478bd9Sstevel@tonic-gate	errno.d \
787c478bd9Sstevel@tonic-gate	io.d \
797c478bd9Sstevel@tonic-gate	procfs.d \
807c478bd9Sstevel@tonic-gate	regs.d \
817c478bd9Sstevel@tonic-gate	sched.d \
827c478bd9Sstevel@tonic-gate	signal.d \
83*e04145d0Seschrock	sysevent.d \
847c478bd9Sstevel@tonic-gate	unistd.d
857c478bd9Sstevel@tonic-gate
867c478bd9Sstevel@tonic-gateinclude ../../Makefile.lib
877c478bd9Sstevel@tonic-gate
887c478bd9Sstevel@tonic-gateSRCS = $(LIBSRCS:%.c=../common/%.c) $(LIBISASRCS:%.c=../$(MACH)/%.c)
897c478bd9Sstevel@tonic-gateLIBS = $(DYNLIB) $(LINTLIB)
907c478bd9Sstevel@tonic-gate
917c478bd9Sstevel@tonic-gateSRCDIR = ../common
927c478bd9Sstevel@tonic-gate
937c478bd9Sstevel@tonic-gateCLEANFILES += dt_lex.c dt_grammar.c dt_grammar.h y.output
947c478bd9Sstevel@tonic-gateCLEANFILES += ../common/procfs.sed ../common/procfs.d
957c478bd9Sstevel@tonic-gateCLEANFILES += ../common/io.sed ../common/io.d
961a7c1b72SmwsCLEANFILES += ../common/errno.d ../common/signal.d
971a7c1b72SmwsCLEANFILES += ../common/dt_errtags.c ../common/dt_names.c
98*e04145d0SeschrockCLEANFILES += ../common/sysevent.sed ../common/sysevent.d
997c478bd9Sstevel@tonic-gate
1007c478bd9Sstevel@tonic-gateCLOBBERFILES += drti.o
1017c478bd9Sstevel@tonic-gate
1027c478bd9Sstevel@tonic-gateCPPFLAGS += -I../common -I.
1037c478bd9Sstevel@tonic-gateCFLAGS += $(CCVERBOSE) $(C_BIGPICFLAGS)
1047c478bd9Sstevel@tonic-gateCFLAGS64 += $(CCVERBOSE) $(C_BIGPICFLAGS)
1057c478bd9Sstevel@tonic-gateYYCFLAGS =
1067c478bd9Sstevel@tonic-gateLDLIBS += -lgen -lproc -lrtld_db -lctf -lelf -lc
1077c478bd9Sstevel@tonic-gateDRTILDLIBS = $(LDLIBS.lib) -lc
1087c478bd9Sstevel@tonic-gate
1097c478bd9Sstevel@tonic-gateyydebug := YYCFLAGS += -DYYDEBUG
1107c478bd9Sstevel@tonic-gate
1117c478bd9Sstevel@tonic-gate$(LINTLIB) := SRCS = $(SRCDIR)/$(LINTSRC)
1127c478bd9Sstevel@tonic-gate
1137c478bd9Sstevel@tonic-gateLFLAGS = -t -v
1147c478bd9Sstevel@tonic-gateYFLAGS = -d -v
1157c478bd9Sstevel@tonic-gate
1167c478bd9Sstevel@tonic-gateROOTDLIBDIR = $(ROOT)/usr/lib/dtrace
1177c478bd9Sstevel@tonic-gateROOTDLIBDIR64 = $(ROOT)/usr/lib/dtrace/64
1187c478bd9Sstevel@tonic-gate
1197c478bd9Sstevel@tonic-gateROOTDLIBS = $(DLIBSRCS:%=$(ROOTDLIBDIR)/%)
1207c478bd9Sstevel@tonic-gateROOTDOBJS = $(ROOTDLIBDIR)/$(DRTIOBJ)
1217c478bd9Sstevel@tonic-gateROOTDOBJS64 = $(ROOTDLIBDIR64)/$(DRTIOBJ)
1227c478bd9Sstevel@tonic-gate
1237c478bd9Sstevel@tonic-gate.KEEP_STATE:
1247c478bd9Sstevel@tonic-gate
1257c478bd9Sstevel@tonic-gateall: $(LIBS) $(DRTIOBJ)
1267c478bd9Sstevel@tonic-gate
1277c478bd9Sstevel@tonic-gatelint: lintdrti lintcheck
1287c478bd9Sstevel@tonic-gate
1297c478bd9Sstevel@tonic-gatelintdrti: ../common/$(DRTISRC)
1307c478bd9Sstevel@tonic-gate	$(LINT.c) ../common/$(DRTISRC) $(DRTILDLIBS)
1317c478bd9Sstevel@tonic-gate
1327c478bd9Sstevel@tonic-gatedt_lex.c: $(SRCDIR)/dt_lex.l dt_grammar.h
1337c478bd9Sstevel@tonic-gate	$(LEX) $(LFLAGS) $(SRCDIR)/dt_lex.l > $@
1347c478bd9Sstevel@tonic-gate
1357c478bd9Sstevel@tonic-gatedt_grammar.c dt_grammar.h: $(SRCDIR)/dt_grammar.y
1367c478bd9Sstevel@tonic-gate	$(YACC) $(YFLAGS) $(SRCDIR)/dt_grammar.y
1377c478bd9Sstevel@tonic-gate	@mv y.tab.h dt_grammar.h
1387c478bd9Sstevel@tonic-gate	@mv y.tab.c dt_grammar.c
1397c478bd9Sstevel@tonic-gate
1407c478bd9Sstevel@tonic-gatepics/dt_lex.o pics/dt_grammar.o := CFLAGS += $(YYCFLAGS)
1417c478bd9Sstevel@tonic-gatepics/dt_lex.o pics/dt_grammar.o := CFLAGS64 += $(YYCFLAGS)
1427c478bd9Sstevel@tonic-gate
1437c478bd9Sstevel@tonic-gatepics/dt_lex.o pics/dt_grammar.o := CERRWARN += -erroff=E_STATEMENT_NOT_REACHED
1447c478bd9Sstevel@tonic-gatepics/dt_lex.o pics/dt_grammar.o := CCVERBOSE =
1457c478bd9Sstevel@tonic-gate
1467c478bd9Sstevel@tonic-gate../common/dt_errtags.c: ../common/mkerrtags.sh ../common/dt_errtags.h
1477c478bd9Sstevel@tonic-gate	sh ../common/mkerrtags.sh < ../common/dt_errtags.h > $@
1487c478bd9Sstevel@tonic-gate
1491a7c1b72Smws../common/dt_names.c: ../common/mknames.sh $(SRC)/uts/common/sys/dtrace.h
1501a7c1b72Smws	sh ../common/mknames.sh < $(SRC)/uts/common/sys/dtrace.h > $@
1511a7c1b72Smws
1527c478bd9Sstevel@tonic-gate../common/errno.d: ../common/mkerrno.sh $(SRC)/uts/common/sys/errno.h
1537c478bd9Sstevel@tonic-gate	sh ../common/mkerrno.sh < $(SRC)/uts/common/sys/errno.h > $@
1547c478bd9Sstevel@tonic-gate
1557c478bd9Sstevel@tonic-gate../common/signal.d: ../common/mksignal.sh $(SRC)/uts/common/sys/iso/signal_iso.h
1567c478bd9Sstevel@tonic-gate	sh ../common/mksignal.sh < $(SRC)/uts/common/sys/iso/signal_iso.h > $@
1577c478bd9Sstevel@tonic-gate
1587c478bd9Sstevel@tonic-gate../common/%.sed: ../common/%.sed.in
159*e04145d0Seschrock	$(COMPILE.cpp) -D_KERNEL $< | tr -d ' ' | tr '"' '@' | \
160*e04145d0Seschrock	    sed 's/\&/\\\&/g' | grep '^s/' > $@
1617c478bd9Sstevel@tonic-gate
1627c478bd9Sstevel@tonic-gate../common/procfs.d: ../common/procfs.sed ../common/procfs.d.in
1637c478bd9Sstevel@tonic-gate	sed -f ../common/procfs.sed < ../common/procfs.d.in > $@
1647c478bd9Sstevel@tonic-gate
1657c478bd9Sstevel@tonic-gate../common/io.d: ../common/io.sed ../common/io.d.in
1667c478bd9Sstevel@tonic-gate	sed -f ../common/io.sed < ../common/io.d.in > $@
1677c478bd9Sstevel@tonic-gate
168*e04145d0Seschrock../common/sysevent.d: ../common/sysevent.sed ../common/sysevent.d.in
169*e04145d0Seschrock	sed -f ../common/sysevent.sed < ../common/sysevent.d.in > $@
170*e04145d0Seschrock
1717c478bd9Sstevel@tonic-gatepics/%.o: ../$(MACH)/%.c
1727c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1737c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
1747c478bd9Sstevel@tonic-gate
1757c478bd9Sstevel@tonic-gatepics/%.o: ../$(MACH)/%.s
1767c478bd9Sstevel@tonic-gate	$(COMPILE.s) -o $@ $<
1777c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
1787c478bd9Sstevel@tonic-gate
1797c478bd9Sstevel@tonic-gate%.o: ../common/%.c
1807c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1817c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
1827c478bd9Sstevel@tonic-gate
1837c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR):
1847c478bd9Sstevel@tonic-gate	$(INS.dir)
1857c478bd9Sstevel@tonic-gate
1867c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR64): $(ROOTDLIBDIR)
1877c478bd9Sstevel@tonic-gate	$(INS.dir)
1887c478bd9Sstevel@tonic-gate
1897c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR)/%.d: ../common/%.d
1907c478bd9Sstevel@tonic-gate	$(INS.file)
1917c478bd9Sstevel@tonic-gate
1927c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR)/%.d: ../$(MACH)/%.d
1937c478bd9Sstevel@tonic-gate	$(INS.file)
1947c478bd9Sstevel@tonic-gate
1957c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR)/%.d: %.d
1967c478bd9Sstevel@tonic-gate	$(INS.file)
1977c478bd9Sstevel@tonic-gate
1987c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR)/%.o: %.o
1997c478bd9Sstevel@tonic-gate	$(INS.file)
2007c478bd9Sstevel@tonic-gate
2017c478bd9Sstevel@tonic-gate$(ROOTDLIBDIR64)/%.o: %.o
2027c478bd9Sstevel@tonic-gate	$(INS.file)
2037c478bd9Sstevel@tonic-gate
2047c478bd9Sstevel@tonic-gate$(ROOTDLIBS): $(ROOTDLIBDIR)
2057c478bd9Sstevel@tonic-gate
2067c478bd9Sstevel@tonic-gate$(ROOTDOBJS): $(ROOTDLIBDIR)
2077c478bd9Sstevel@tonic-gate
2087c478bd9Sstevel@tonic-gate$(ROOTDOBJS64): $(ROOTDLIBDIR64)
2097c478bd9Sstevel@tonic-gate
2107c478bd9Sstevel@tonic-gateinclude ../../Makefile.targ
211