xref: /illumos-gate/usr/src/test/util-tests/tests/smbios/Makefile (revision 71815ce76261aa773c97600750fdce92334d1990)
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) 2018, Joyent, Inc.
14# Copyright 2021 Oxide Computer Company
15#
16
17include $(SRC)/Makefile.master
18
19ROOTOPTPKG = $(ROOT)/opt/util-tests
20TESTDIR = $(ROOTOPTPKG)/tests/
21
22OBJS =	smbios.o \
23	smbios_test_chassis.o \
24	smbios_test_errors.o \
25	smbios_test_fwinfo.o \
26	smbios_test_memdevice.o \
27	smbios_test_pinfo.o \
28	smbios_test_slot.o \
29	smbios_test_strings.o \
30	smbios_test_strprop.o
31PROGS = smbios
32
33include $(SRC)/cmd/Makefile.cmd
34include $(SRC)/test/Makefile.com
35
36CMDS = $(PROGS:%=$(TESTDIR)/%)
37$(CMDS) := FILEMODE = 0555
38CSTD = $(GNU_C99)
39
40#
41# Since this program uses quite a number of variables declared on the
42# stack that are then written to by libsmbios, we opt to pay the cost
43# of always have the stack protector on every function as an additional
44# means of checking ourselves.
45#
46STACKPROTECT = all
47
48LDLIBS += -lsmbios -lumem
49CFLAGS += -_gcc=-Wall -_gcc=-Wextra -_gcc=-Wno-unknown-pragmas
50
51all: $(PROGS)
52
53install: all $(CMDS)
54
55clobber: clean
56	-$(RM) $(PROGS)
57
58clean:
59	-$(RM) $(OBJS)
60
61$(CMDS): $(TESTDIR) $(PROGS)
62
63$(TESTDIR):
64	$(INS.dir)
65
66$(TESTDIR)/%: %
67	$(INS.file)
68
69$(PROGS): $(OBJS)
70	$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
71	$(POST_PROCESS)
72