xref: /illumos-gate/usr/src/test/util-tests/tests/smbios/Makefile (revision ba2b435afc094312a669141557d7db936139fcb7)
11566bc34SRobert Mustacchi#
21566bc34SRobert Mustacchi# This file and its contents are supplied under the terms of the
31566bc34SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
41566bc34SRobert Mustacchi# You may only use this file in accordance with the terms of version
51566bc34SRobert Mustacchi# 1.0 of the CDDL.
61566bc34SRobert Mustacchi#
71566bc34SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
81566bc34SRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
91566bc34SRobert Mustacchi# http://www.illumos.org/license/CDDL.
101566bc34SRobert Mustacchi#
111566bc34SRobert Mustacchi
121566bc34SRobert Mustacchi#
131566bc34SRobert Mustacchi# Copyright (c) 2018, Joyent, Inc.
14bb9475a1SRobert Mustacchi# Copyright 2025 Oxide Computer Company
151566bc34SRobert Mustacchi#
161566bc34SRobert Mustacchi
171566bc34SRobert Mustacchiinclude $(SRC)/Makefile.master
181566bc34SRobert Mustacchi
191566bc34SRobert MustacchiROOTOPTPKG = $(ROOT)/opt/util-tests
201566bc34SRobert MustacchiTESTDIR = $(ROOTOPTPKG)/tests/
211566bc34SRobert Mustacchi
22afa937a6SRobert MustacchiSRCS =	smbios.c \
23afa937a6SRobert Mustacchi	smbios_test_addinfo.c \
24afa937a6SRobert Mustacchi	smbios_test_chassis.c \
25afa937a6SRobert Mustacchi	smbios_test_errors.c \
26afa937a6SRobert Mustacchi	smbios_test_extmemdevice.c \
27afa937a6SRobert Mustacchi	smbios_test_fwinfo.c \
28afa937a6SRobert Mustacchi	smbios_test_memdevice.c \
29afa937a6SRobert Mustacchi	smbios_test_proc.c \
30afa937a6SRobert Mustacchi	smbios_test_pinfo.c \
31afa937a6SRobert Mustacchi	smbios_test_slot.c \
32afa937a6SRobert Mustacchi	smbios_test_strings.c \
33afa937a6SRobert Mustacchi	smbios_test_strprop.c
341566bc34SRobert MustacchiPROGS = smbios
351566bc34SRobert Mustacchi
36afa937a6SRobert MustacchiPROGS32 = $(PROGS:%=%.32)
37afa937a6SRobert MustacchiPROGS64 = $(PROGS:%=%.64)
38afa937a6SRobert Mustacchi
39afa937a6SRobert MustacchiOBJS32 = $(SRCS:%.c=%.32.o)
40afa937a6SRobert MustacchiOBJS64 = $(SRCS:%.c=%.64.o)
41afa937a6SRobert Mustacchi
421566bc34SRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
43*ba2b435aSRobert Mustacchiinclude $(SRC)/cmd/Makefile.ctf
441566bc34SRobert Mustacchiinclude $(SRC)/test/Makefile.com
451566bc34SRobert Mustacchi
46afa937a6SRobert MustacchiCMDS = $(PROGS32:%=$(TESTDIR)/%) $(PROGS64:%=$(TESTDIR)/%)
471566bc34SRobert Mustacchi$(CMDS) := FILEMODE = 0555
48bb9475a1SRobert MustacchiCSTD = $(CSTD_GNU17)
49*ba2b435aSRobert MustacchiCTF_MODE = link
50d53cdfabSRobert Mustacchi
51d53cdfabSRobert Mustacchi#
52d53cdfabSRobert Mustacchi# Since this program uses quite a number of variables declared on the
53d53cdfabSRobert Mustacchi# stack that are then written to by libsmbios, we opt to pay the cost
54d53cdfabSRobert Mustacchi# of always have the stack protector on every function as an additional
55d53cdfabSRobert Mustacchi# means of checking ourselves.
56d53cdfabSRobert Mustacchi#
57d53cdfabSRobert MustacchiSTACKPROTECT = all
581566bc34SRobert Mustacchi
591566bc34SRobert MustacchiLDLIBS += -lsmbios -lumem
60afa937a6SRobert MustacchiLDLIBS64 += -lsmbios -lumem
611566bc34SRobert MustacchiCFLAGS += -_gcc=-Wall -_gcc=-Wextra -_gcc=-Wno-unknown-pragmas
62afa937a6SRobert MustacchiCFLAGS64 += -_gcc=-Wall -_gcc=-Wextra -_gcc=-Wno-unknown-pragmas
631566bc34SRobert Mustacchi
64afa937a6SRobert Mustacchiall: $(PROGS32) $(PROGS64)
651566bc34SRobert Mustacchi
66176a9270SRobert Mustacchiinstall: all $(CMDS)
671566bc34SRobert Mustacchi
681566bc34SRobert Mustacchiclobber: clean
69afa937a6SRobert Mustacchi	-$(RM) $(PROGS32) $(PROGS64)
701566bc34SRobert Mustacchi
711566bc34SRobert Mustacchiclean:
72afa937a6SRobert Mustacchi	-$(RM) $(OBJS32) $(OBJS64)
731566bc34SRobert Mustacchi
74afa937a6SRobert Mustacchi$(CMDS): $(TESTDIR) $(PROGS32) $(PROGS64)
751566bc34SRobert Mustacchi
761566bc34SRobert Mustacchi$(TESTDIR):
771566bc34SRobert Mustacchi	$(INS.dir)
781566bc34SRobert Mustacchi
791566bc34SRobert Mustacchi$(TESTDIR)/%: %
801566bc34SRobert Mustacchi	$(INS.file)
811566bc34SRobert Mustacchi
82afa937a6SRobert Mustacchi%.32.o: %.c
83afa937a6SRobert Mustacchi	$(COMPILE.c) -o $@ $<
84afa937a6SRobert Mustacchi	$(POST_PROCESS_O)
85afa937a6SRobert Mustacchi
86afa937a6SRobert Mustacchi%.64.o: %.c
87afa937a6SRobert Mustacchi	$(COMPILE64.c) -o $@ $<
88afa937a6SRobert Mustacchi	$(POST_PROCESS_O)
89afa937a6SRobert Mustacchi
90afa937a6SRobert Mustacchi
91afa937a6SRobert Mustacchi$(PROGS32): $(OBJS32)
92afa937a6SRobert Mustacchi	$(LINK.c) -o $@ $(OBJS32) $(LDLIBS)
93afa937a6SRobert Mustacchi	$(POST_PROCESS)
94afa937a6SRobert Mustacchi
95afa937a6SRobert Mustacchi$(PROGS64): $(OBJS64)
96afa937a6SRobert Mustacchi	$(LINK64.c) -o $@ $(OBJS64) $(LDLIBS64)
971566bc34SRobert Mustacchi	$(POST_PROCESS)
98