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 2018 Jason King.
14 # Copyright 2019 Joyent, Inc.
15 #
16
17 include $(SRC)/Makefile.master
18 include $(SRC)/cmd/Makefile.cmd
19 include $(SRC)/test/Makefile.com
20
21 ROOTBINDIR = $(ROOTOPTPKG)/bin
22
23 PROG = gcc-libstdc++ llvm-stdcxxabi afl-fast rust
24
25 ROOTOPTPKG = $(ROOT)/opt/util-tests
26 TESTDIR = $(ROOTOPTPKG)/tests/demangle
27
28 CMDS = $(PROG:%=$(TESTDIR)/%)
29 $(CMDS) := FILEMODE = 0555
30
31 OBJS = $(PROG:%=%.o)
32 SRCS = $(OBJS:%.o=%.c)
33
34 CSTD = $(CSTD_GNU99)
35
36 LDLIBS += -ldemangle-sys
37 rust := LDLIBS += -lumem
38
39 all: $(PROG)
40
41 gcc-libstdc++: gcc-libstdc++.o
42 $(LINK.c) -o $@ gcc-libstdc++.o $(LDLIBS)
43 $(POST_PROCESS)
44
45 llvm-stdcxxabi: llvm-stdcxxabi.o
46 $(LINK.c) -o $@ llvm-stdcxxabi.o $(LDLIBS)
47 $(POST_PROCESS)
48
49 afl-fast: afl-fast.o
50 $(LINK.c) -o $@ afl-fast.o $(LDLIBS)
51 $(POST_PROCESS)
52
53 rust: rust.o
54 $(LINK.c) -o $@ rust.o $(LDLIBS)
55 $(POST_PROCESS)
56
57 install: all $(CMDS)
58
59 lint:
60
61 clobber: clean
62 -$(RM) $(PROG)
63
64 clean:
65 -$(RM) $(OBJS)
66
67 $(CMDS): $(TESTDIR) $(PROG)
68
69 $(ROOTBINDIR):
70 $(INS.dir)
71
72 $(ROOTBINDIR)/%: %
73 $(INS.file)
74
75 $(TESTDIR):
76 $(INS.dir)
77
78 $(TESTDIR)/%: %
79 $(INS.file)