15bb525f4SRobert Mustacchi#
25bb525f4SRobert Mustacchi# This file and its contents are supplied under the terms of the
35bb525f4SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
45bb525f4SRobert Mustacchi# You may only use this file in accordance with the terms of version
55bb525f4SRobert Mustacchi# 1.0 of the CDDL.
65bb525f4SRobert Mustacchi#
75bb525f4SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
85bb525f4SRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
95bb525f4SRobert Mustacchi# http://www.illumos.org/license/CDDL.
105bb525f4SRobert Mustacchi#
115bb525f4SRobert Mustacchi
125bb525f4SRobert Mustacchi#
13*6ef284f1SJohn Levon# Copyright 2019, Joyent, Inc.
145bb525f4SRobert Mustacchi#
155bb525f4SRobert Mustacchi
165bb525f4SRobert Mustacchiinclude $(SRC)/Makefile.master
175bb525f4SRobert Mustacchi
185bb525f4SRobert MustacchiROOTOPTPKG = $(ROOT)/opt/util-tests
195bb525f4SRobert MustacchiTESTDIR = $(ROOTOPTPKG)/tests/ctf
205bb525f4SRobert Mustacchi
213eca6103SJohn LevonSCRIPTS =	precheck.ksh \
223eca6103SJohn Levon		ctftest.ksh \
233eca6103SJohn Levon		ctftest-convert-non-c.ksh \
243eca6103SJohn Levon		ctftest-convert-no-dwarf.ksh \
253eca6103SJohn Levon		ctftest-merge-no-ctf.ksh \
265bb525f4SRobert Mustacchi
275bb525f4SRobert MustacchiTESTS =		test-float.c \
285bb525f4SRobert Mustacchi		test-reference.c \
295bb525f4SRobert Mustacchi		test-int.c \
305bb525f4SRobert Mustacchi		test-array.c \
315bb525f4SRobert Mustacchi		test-enum.c \
325bb525f4SRobert Mustacchi		test-forward.c \
335bb525f4SRobert Mustacchi		test-sou.c \
345bb525f4SRobert Mustacchi		test-function.c \
35*6ef284f1SJohn Levon		test-qualifiers.c \
365bb525f4SRobert Mustacchi		test-merge-static/Makefile.ctftest \
375bb525f4SRobert Mustacchi		test-merge-static/test-a.c \
385bb525f4SRobert Mustacchi		test-merge-static/test-b.c \
395bb525f4SRobert Mustacchi		test-merge-static/test-c.c \
405bb525f4SRobert Mustacchi		test-merge-static/test-d.c \
415bb525f4SRobert Mustacchi		test-merge-static/test-main.c \
425bb525f4SRobert Mustacchi		test-merge-forward/Makefile.ctftest \
435bb525f4SRobert Mustacchi		test-merge-forward/test-impl.c \
445bb525f4SRobert Mustacchi		test-merge-forward/test-merge.c \
455bb525f4SRobert Mustacchi		test-merge-dedup/Makefile.ctftest \
465bb525f4SRobert Mustacchi		test-merge-dedup/test-merge-1.c \
475bb525f4SRobert Mustacchi		test-merge-dedup/test-merge-2.c \
485bb525f4SRobert Mustacchi		test-merge-dedup/test-merge-3.c \
495bb525f4SRobert Mustacchi		test-merge-dedup/test-merge-dedup.c \
505bb525f4SRobert Mustacchi		test-merge-reduction/Makefile.ctftest \
515bb525f4SRobert Mustacchi		test-merge-reduction/mapfile-vers \
525bb525f4SRobert Mustacchi		test-merge-reduction/test-global.c \
535bb525f4SRobert Mustacchi		test-merge-reduction/test-scoped.c \
545bb525f4SRobert Mustacchi		test-merge-weak/Makefile.ctftest \
555bb525f4SRobert Mustacchi		test-merge-weak/test-merge-weak.c \
565bb525f4SRobert Mustacchi		test-weak.c \
575bb525f4SRobert Mustacchi		Makefile.ctftest.com
585bb525f4SRobert Mustacchi
595bb525f4SRobert MustacchiMAKEDIRS =	test-merge-static \
605bb525f4SRobert Mustacchi		test-merge-forward \
615bb525f4SRobert Mustacchi		test-merge-dedup \
625bb525f4SRobert Mustacchi		test-merge-reduction \
635bb525f4SRobert Mustacchi		test-merge-weak
645bb525f4SRobert Mustacchi
655bb525f4SRobert MustacchiCHECKS =	check-float-32 \
665bb525f4SRobert Mustacchi		check-float-64 \
675bb525f4SRobert Mustacchi		check-int-32 \
685bb525f4SRobert Mustacchi		check-int-64 \
695bb525f4SRobert Mustacchi		check-reference \
705bb525f4SRobert Mustacchi		check-array \
715bb525f4SRobert Mustacchi		check-enum \
725bb525f4SRobert Mustacchi		check-sou-32 \
735bb525f4SRobert Mustacchi		check-sou-64 \
745bb525f4SRobert Mustacchi		check-forward-32 \
755bb525f4SRobert Mustacchi		check-forward-64 \
765bb525f4SRobert Mustacchi		check-function \
77*6ef284f1SJohn Levon		check-qualifiers \
785bb525f4SRobert Mustacchi		check-merge-static \
795bb525f4SRobert Mustacchi		check-merge-forward-32 \
805bb525f4SRobert Mustacchi		check-merge-forward-64 \
815bb525f4SRobert Mustacchi		check-merge-dedup \
825bb525f4SRobert Mustacchi		check-merge-reduction \
835bb525f4SRobert Mustacchi		check-merge-weak \
845bb525f4SRobert Mustacchi		check-weak
855bb525f4SRobert Mustacchi
865bb525f4SRobert MustacchiCOMMON_OBJS =	check-common.o
875bb525f4SRobert MustacchiALL_OBJS =	$(CHECKS:%=%.o) $(CHECKS:%-32=%.32.o) $(CHECKS:%-64=%.64.o) $(COMMON_OBJS)
885bb525f4SRobert Mustacchi
895bb525f4SRobert MustacchiROOTTESTS =	$(TESTS:%=$(TESTDIR)/%)
905bb525f4SRobert MustacchiROOTMAKEDIRS =	$(MAKEDIRS:%=$(TESTDIR)/%)
915bb525f4SRobert MustacchiROOTCHECKS =	$(CHECKS:%=$(TESTDIR)/%)
925bb525f4SRobert MustacchiROOTSCRIPTS =	$(SCRIPTS:%.ksh=$(TESTDIR)/%)
935bb525f4SRobert Mustacchi
945bb525f4SRobert MustacchiROOTTESTS	:= FILEMODE =	0444
955bb525f4SRobert MustacchiROOTCHECKS	:= FILEMODE =	0555
965bb525f4SRobert MustacchiROOTSCRIPTS	:= FILEMODE =	0555
975bb525f4SRobert Mustacchi
985bb525f4SRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
995bb525f4SRobert Mustacchiinclude $(SRC)/test/Makefile.com
1005bb525f4SRobert Mustacchi
101*6ef284f1SJohn LevonCSTD = $(CSTD_GNU99)
102*6ef284f1SJohn Levon
1035bb525f4SRobert MustacchiLDLIBS +=	-lctf
1045bb525f4SRobert Mustacchi
1055bb525f4SRobert Mustacchicheck-merge-static :=	LDLIBS += -lelf
1065bb525f4SRobert Mustacchi
1075bb525f4SRobert Mustacchiall: $(CHECKS)
1085bb525f4SRobert Mustacchi
1095bb525f4SRobert Mustacchiinstall: all $(ROOTTESTS) $(ROOTCHECKS) $(ROOTSCRIPTS)
1105bb525f4SRobert Mustacchi
1115bb525f4SRobert Mustacchi$(CHECKS): $(COMMON_OBJS)
1125bb525f4SRobert Mustacchi
1135bb525f4SRobert Mustacchiclean:
1145bb525f4SRobert Mustacchi	$(RM) $(ALL_OBJS)
1155bb525f4SRobert Mustacchi
1165bb525f4SRobert Mustacchiclobber: clean
1175bb525f4SRobert Mustacchi	$(RM) $(CHECKS)
1185bb525f4SRobert Mustacchi
1195bb525f4SRobert Mustacchi$(ROOTTESTS): $(TESTDIR) $(ROOTMAKEDIRS) $(TESTS)
1205bb525f4SRobert Mustacchi$(ROOTCHECKS): $(TESTDIR) $(CHECKS)
1215bb525f4SRobert Mustacchi$(ROOTSCRIPTS): $(TESTDIR) $(SCRIPTS)
1225bb525f4SRobert Mustacchi
1235bb525f4SRobert Mustacchi$(TESTDIR):
1245bb525f4SRobert Mustacchi	$(INS.dir)
1255bb525f4SRobert Mustacchi
1265bb525f4SRobert Mustacchi$(ROOTMAKEDIRS):
1275bb525f4SRobert Mustacchi	$(INS.dir)
1285bb525f4SRobert Mustacchi
1295bb525f4SRobert Mustacchi$(TESTDIR)/%: %
1305bb525f4SRobert Mustacchi	$(INS.file)
1315bb525f4SRobert Mustacchi
1325bb525f4SRobert Mustacchi$(TESTDIR)/%: %.ksh
1335bb525f4SRobert Mustacchi	$(INS.rename)
1345bb525f4SRobert Mustacchi
1355bb525f4SRobert Mustacchi%.o: %.c
1365bb525f4SRobert Mustacchi	$(COMPILE.c) -o $@ $<
1375bb525f4SRobert Mustacchi	$(POST_PROCESS_O)
1385bb525f4SRobert Mustacchi
1395bb525f4SRobert Mustacchi%.32.o: %.c
1405bb525f4SRobert Mustacchi	$(COMPILE.c) -o $@ $<
1415bb525f4SRobert Mustacchi	$(POST_PROCESS_O)
1425bb525f4SRobert Mustacchi
1435bb525f4SRobert Mustacchi%.64.o: %.c
1445bb525f4SRobert Mustacchi	$(COMPILE.c) -DTARGET_LP64 -o $@ $<
1455bb525f4SRobert Mustacchi	$(POST_PROCESS_O)
1465bb525f4SRobert Mustacchi
1475bb525f4SRobert Mustacchi%-32: %.32.o
1485bb525f4SRobert Mustacchi	$(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS)
1495bb525f4SRobert Mustacchi	$(POST_PROCESS)
1505bb525f4SRobert Mustacchi
1515bb525f4SRobert Mustacchi%-64: %.64.o
1525bb525f4SRobert Mustacchi	$(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS)
1535bb525f4SRobert Mustacchi	$(POST_PROCESS)
1545bb525f4SRobert Mustacchi
1555bb525f4SRobert Mustacchi%: %.o
1565bb525f4SRobert Mustacchi	$(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS)
1575bb525f4SRobert Mustacchi	$(POST_PROCESS)
158