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