1*5bb525f4SRobert Mustacchi# 2*5bb525f4SRobert Mustacchi# This file and its contents are supplied under the terms of the 3*5bb525f4SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0. 4*5bb525f4SRobert Mustacchi# You may only use this file in accordance with the terms of version 5*5bb525f4SRobert Mustacchi# 1.0 of the CDDL. 6*5bb525f4SRobert Mustacchi# 7*5bb525f4SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this 8*5bb525f4SRobert Mustacchi# source. A copy of the CDDL is also available via the Internet at 9*5bb525f4SRobert Mustacchi# http://www.illumos.org/license/CDDL. 10*5bb525f4SRobert Mustacchi# 11*5bb525f4SRobert Mustacchi 12*5bb525f4SRobert Mustacchi# 13*5bb525f4SRobert Mustacchi# Copyright (c) 2019, Joyent, Inc. 14*5bb525f4SRobert Mustacchi# 15*5bb525f4SRobert Mustacchi 16*5bb525f4SRobert Mustacchiinclude $(SRC)/Makefile.master 17*5bb525f4SRobert Mustacchi 18*5bb525f4SRobert MustacchiROOTOPTPKG = $(ROOT)/opt/util-tests 19*5bb525f4SRobert MustacchiTESTDIR = $(ROOTOPTPKG)/tests/ctf 20*5bb525f4SRobert Mustacchi 21*5bb525f4SRobert MustacchiSCRIPTS = ctftest.ksh 22*5bb525f4SRobert Mustacchi 23*5bb525f4SRobert MustacchiTESTS = test-float.c \ 24*5bb525f4SRobert Mustacchi test-reference.c \ 25*5bb525f4SRobert Mustacchi test-int.c \ 26*5bb525f4SRobert Mustacchi test-array.c \ 27*5bb525f4SRobert Mustacchi test-enum.c \ 28*5bb525f4SRobert Mustacchi test-forward.c \ 29*5bb525f4SRobert Mustacchi test-sou.c \ 30*5bb525f4SRobert Mustacchi test-function.c \ 31*5bb525f4SRobert Mustacchi test-merge-static/Makefile.ctftest \ 32*5bb525f4SRobert Mustacchi test-merge-static/test-a.c \ 33*5bb525f4SRobert Mustacchi test-merge-static/test-b.c \ 34*5bb525f4SRobert Mustacchi test-merge-static/test-c.c \ 35*5bb525f4SRobert Mustacchi test-merge-static/test-d.c \ 36*5bb525f4SRobert Mustacchi test-merge-static/test-main.c \ 37*5bb525f4SRobert Mustacchi test-merge-forward/Makefile.ctftest \ 38*5bb525f4SRobert Mustacchi test-merge-forward/test-impl.c \ 39*5bb525f4SRobert Mustacchi test-merge-forward/test-merge.c \ 40*5bb525f4SRobert Mustacchi test-merge-dedup/Makefile.ctftest \ 41*5bb525f4SRobert Mustacchi test-merge-dedup/test-merge-1.c \ 42*5bb525f4SRobert Mustacchi test-merge-dedup/test-merge-2.c \ 43*5bb525f4SRobert Mustacchi test-merge-dedup/test-merge-3.c \ 44*5bb525f4SRobert Mustacchi test-merge-dedup/test-merge-dedup.c \ 45*5bb525f4SRobert Mustacchi test-merge-reduction/Makefile.ctftest \ 46*5bb525f4SRobert Mustacchi test-merge-reduction/mapfile-vers \ 47*5bb525f4SRobert Mustacchi test-merge-reduction/test-global.c \ 48*5bb525f4SRobert Mustacchi test-merge-reduction/test-scoped.c \ 49*5bb525f4SRobert Mustacchi test-merge-weak/Makefile.ctftest \ 50*5bb525f4SRobert Mustacchi test-merge-weak/test-merge-weak.c \ 51*5bb525f4SRobert Mustacchi test-weak.c \ 52*5bb525f4SRobert Mustacchi Makefile.ctftest.com 53*5bb525f4SRobert Mustacchi 54*5bb525f4SRobert MustacchiMAKEDIRS = test-merge-static \ 55*5bb525f4SRobert Mustacchi test-merge-forward \ 56*5bb525f4SRobert Mustacchi test-merge-dedup \ 57*5bb525f4SRobert Mustacchi test-merge-reduction \ 58*5bb525f4SRobert Mustacchi test-merge-weak 59*5bb525f4SRobert Mustacchi 60*5bb525f4SRobert MustacchiCHECKS = check-float-32 \ 61*5bb525f4SRobert Mustacchi check-float-64 \ 62*5bb525f4SRobert Mustacchi check-int-32 \ 63*5bb525f4SRobert Mustacchi check-int-64 \ 64*5bb525f4SRobert Mustacchi check-reference \ 65*5bb525f4SRobert Mustacchi check-array \ 66*5bb525f4SRobert Mustacchi check-enum \ 67*5bb525f4SRobert Mustacchi check-sou-32 \ 68*5bb525f4SRobert Mustacchi check-sou-64 \ 69*5bb525f4SRobert Mustacchi check-forward-32 \ 70*5bb525f4SRobert Mustacchi check-forward-64 \ 71*5bb525f4SRobert Mustacchi check-function \ 72*5bb525f4SRobert Mustacchi check-merge-static \ 73*5bb525f4SRobert Mustacchi check-merge-forward-32 \ 74*5bb525f4SRobert Mustacchi check-merge-forward-64 \ 75*5bb525f4SRobert Mustacchi check-merge-dedup \ 76*5bb525f4SRobert Mustacchi check-merge-reduction \ 77*5bb525f4SRobert Mustacchi check-merge-weak \ 78*5bb525f4SRobert Mustacchi check-weak 79*5bb525f4SRobert Mustacchi 80*5bb525f4SRobert MustacchiCOMMON_OBJS = check-common.o 81*5bb525f4SRobert MustacchiALL_OBJS = $(CHECKS:%=%.o) $(CHECKS:%-32=%.32.o) $(CHECKS:%-64=%.64.o) $(COMMON_OBJS) 82*5bb525f4SRobert Mustacchi 83*5bb525f4SRobert MustacchiROOTTESTS = $(TESTS:%=$(TESTDIR)/%) 84*5bb525f4SRobert MustacchiROOTMAKEDIRS = $(MAKEDIRS:%=$(TESTDIR)/%) 85*5bb525f4SRobert MustacchiROOTCHECKS = $(CHECKS:%=$(TESTDIR)/%) 86*5bb525f4SRobert MustacchiROOTSCRIPTS = $(SCRIPTS:%.ksh=$(TESTDIR)/%) 87*5bb525f4SRobert Mustacchi 88*5bb525f4SRobert MustacchiROOTTESTS := FILEMODE = 0444 89*5bb525f4SRobert MustacchiROOTCHECKS := FILEMODE = 0555 90*5bb525f4SRobert MustacchiROOTSCRIPTS := FILEMODE = 0555 91*5bb525f4SRobert Mustacchi 92*5bb525f4SRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd 93*5bb525f4SRobert Mustacchiinclude $(SRC)/test/Makefile.com 94*5bb525f4SRobert Mustacchi 95*5bb525f4SRobert MustacchiLDLIBS += -lctf 96*5bb525f4SRobert Mustacchi 97*5bb525f4SRobert Mustacchicheck-merge-static := LDLIBS += -lelf 98*5bb525f4SRobert Mustacchi 99*5bb525f4SRobert Mustacchiall: $(CHECKS) 100*5bb525f4SRobert Mustacchi 101*5bb525f4SRobert Mustacchiinstall: all $(ROOTTESTS) $(ROOTCHECKS) $(ROOTSCRIPTS) 102*5bb525f4SRobert Mustacchi 103*5bb525f4SRobert Mustacchi$(CHECKS): $(COMMON_OBJS) 104*5bb525f4SRobert Mustacchi 105*5bb525f4SRobert Mustacchiclean: 106*5bb525f4SRobert Mustacchi $(RM) $(ALL_OBJS) 107*5bb525f4SRobert Mustacchi 108*5bb525f4SRobert Mustacchiclobber: clean 109*5bb525f4SRobert Mustacchi $(RM) $(CHECKS) 110*5bb525f4SRobert Mustacchi 111*5bb525f4SRobert Mustacchi$(ROOTTESTS): $(TESTDIR) $(ROOTMAKEDIRS) $(TESTS) 112*5bb525f4SRobert Mustacchi$(ROOTCHECKS): $(TESTDIR) $(CHECKS) 113*5bb525f4SRobert Mustacchi$(ROOTSCRIPTS): $(TESTDIR) $(SCRIPTS) 114*5bb525f4SRobert Mustacchi 115*5bb525f4SRobert Mustacchi$(TESTDIR): 116*5bb525f4SRobert Mustacchi $(INS.dir) 117*5bb525f4SRobert Mustacchi 118*5bb525f4SRobert Mustacchi$(ROOTMAKEDIRS): 119*5bb525f4SRobert Mustacchi $(INS.dir) 120*5bb525f4SRobert Mustacchi 121*5bb525f4SRobert Mustacchi$(TESTDIR)/%: % 122*5bb525f4SRobert Mustacchi $(INS.file) 123*5bb525f4SRobert Mustacchi 124*5bb525f4SRobert Mustacchi$(TESTDIR)/%: %.ksh 125*5bb525f4SRobert Mustacchi $(INS.rename) 126*5bb525f4SRobert Mustacchi 127*5bb525f4SRobert Mustacchi%.o: %.c 128*5bb525f4SRobert Mustacchi $(COMPILE.c) -o $@ $< 129*5bb525f4SRobert Mustacchi $(POST_PROCESS_O) 130*5bb525f4SRobert Mustacchi 131*5bb525f4SRobert Mustacchi%.32.o: %.c 132*5bb525f4SRobert Mustacchi $(COMPILE.c) -o $@ $< 133*5bb525f4SRobert Mustacchi $(POST_PROCESS_O) 134*5bb525f4SRobert Mustacchi 135*5bb525f4SRobert Mustacchi%.64.o: %.c 136*5bb525f4SRobert Mustacchi $(COMPILE.c) -DTARGET_LP64 -o $@ $< 137*5bb525f4SRobert Mustacchi $(POST_PROCESS_O) 138*5bb525f4SRobert Mustacchi 139*5bb525f4SRobert Mustacchi%-32: %.32.o 140*5bb525f4SRobert Mustacchi $(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS) 141*5bb525f4SRobert Mustacchi $(POST_PROCESS) 142*5bb525f4SRobert Mustacchi 143*5bb525f4SRobert Mustacchi%-64: %.64.o 144*5bb525f4SRobert Mustacchi $(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS) 145*5bb525f4SRobert Mustacchi $(POST_PROCESS) 146*5bb525f4SRobert Mustacchi 147*5bb525f4SRobert Mustacchi%: %.o 148*5bb525f4SRobert Mustacchi $(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS) 149*5bb525f4SRobert Mustacchi $(POST_PROCESS) 150