xref: /illumos-gate/usr/src/test/util-tests/tests/smbios/Makefile (revision afa937a6c8732de9a6e3c2830b45f93829ff5aff)
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.
14064d431aSRobert Mustacchi# Copyright 2024 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
22*afa937a6SRobert MustacchiSRCS =	smbios.c \
23*afa937a6SRobert Mustacchi	smbios_test_addinfo.c \
24*afa937a6SRobert Mustacchi	smbios_test_chassis.c \
25*afa937a6SRobert Mustacchi	smbios_test_errors.c \
26*afa937a6SRobert Mustacchi	smbios_test_extmemdevice.c \
27*afa937a6SRobert Mustacchi	smbios_test_fwinfo.c \
28*afa937a6SRobert Mustacchi	smbios_test_memdevice.c \
29*afa937a6SRobert Mustacchi	smbios_test_proc.c \
30*afa937a6SRobert Mustacchi	smbios_test_pinfo.c \
31*afa937a6SRobert Mustacchi	smbios_test_slot.c \
32*afa937a6SRobert Mustacchi	smbios_test_strings.c \
33*afa937a6SRobert Mustacchi	smbios_test_strprop.c
341566bc34SRobert MustacchiPROGS = smbios
351566bc34SRobert Mustacchi
36*afa937a6SRobert MustacchiPROGS32 = $(PROGS:%=%.32)
37*afa937a6SRobert MustacchiPROGS64 = $(PROGS:%=%.64)
38*afa937a6SRobert Mustacchi
39*afa937a6SRobert MustacchiOBJS32 = $(SRCS:%.c=%.32.o)
40*afa937a6SRobert MustacchiOBJS64 = $(SRCS:%.c=%.64.o)
41*afa937a6SRobert Mustacchi
421566bc34SRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
431566bc34SRobert Mustacchiinclude $(SRC)/test/Makefile.com
441566bc34SRobert Mustacchi
45*afa937a6SRobert MustacchiCMDS = $(PROGS32:%=$(TESTDIR)/%) $(PROGS64:%=$(TESTDIR)/%)
461566bc34SRobert Mustacchi$(CMDS) := FILEMODE = 0555
47d53cdfabSRobert MustacchiCSTD = $(GNU_C99)
48d53cdfabSRobert Mustacchi
49d53cdfabSRobert Mustacchi#
50d53cdfabSRobert Mustacchi# Since this program uses quite a number of variables declared on the
51d53cdfabSRobert Mustacchi# stack that are then written to by libsmbios, we opt to pay the cost
52d53cdfabSRobert Mustacchi# of always have the stack protector on every function as an additional
53d53cdfabSRobert Mustacchi# means of checking ourselves.
54d53cdfabSRobert Mustacchi#
55d53cdfabSRobert MustacchiSTACKPROTECT = all
561566bc34SRobert Mustacchi
571566bc34SRobert MustacchiLDLIBS += -lsmbios -lumem
58*afa937a6SRobert MustacchiLDLIBS64 += -lsmbios -lumem
591566bc34SRobert MustacchiCFLAGS += -_gcc=-Wall -_gcc=-Wextra -_gcc=-Wno-unknown-pragmas
60*afa937a6SRobert MustacchiCFLAGS64 += -_gcc=-Wall -_gcc=-Wextra -_gcc=-Wno-unknown-pragmas
611566bc34SRobert Mustacchi
62*afa937a6SRobert Mustacchiall: $(PROGS32) $(PROGS64)
631566bc34SRobert Mustacchi
64176a9270SRobert Mustacchiinstall: all $(CMDS)
651566bc34SRobert Mustacchi
661566bc34SRobert Mustacchiclobber: clean
67*afa937a6SRobert Mustacchi	-$(RM) $(PROGS32) $(PROGS64)
681566bc34SRobert Mustacchi
691566bc34SRobert Mustacchiclean:
70*afa937a6SRobert Mustacchi	-$(RM) $(OBJS32) $(OBJS64)
711566bc34SRobert Mustacchi
72*afa937a6SRobert Mustacchi$(CMDS): $(TESTDIR) $(PROGS32) $(PROGS64)
731566bc34SRobert Mustacchi
741566bc34SRobert Mustacchi$(TESTDIR):
751566bc34SRobert Mustacchi	$(INS.dir)
761566bc34SRobert Mustacchi
771566bc34SRobert Mustacchi$(TESTDIR)/%: %
781566bc34SRobert Mustacchi	$(INS.file)
791566bc34SRobert Mustacchi
80*afa937a6SRobert Mustacchi%.32.o: %.c
81*afa937a6SRobert Mustacchi	$(COMPILE.c) -o $@ $<
82*afa937a6SRobert Mustacchi	$(POST_PROCESS_O)
83*afa937a6SRobert Mustacchi
84*afa937a6SRobert Mustacchi%.64.o: %.c
85*afa937a6SRobert Mustacchi	$(COMPILE64.c) -o $@ $<
86*afa937a6SRobert Mustacchi	$(POST_PROCESS_O)
87*afa937a6SRobert Mustacchi
88*afa937a6SRobert Mustacchi
89*afa937a6SRobert Mustacchi$(PROGS32): $(OBJS32)
90*afa937a6SRobert Mustacchi	$(LINK.c) -o $@ $(OBJS32) $(LDLIBS)
91*afa937a6SRobert Mustacchi	$(POST_PROCESS)
92*afa937a6SRobert Mustacchi
93*afa937a6SRobert Mustacchi$(PROGS64): $(OBJS64)
94*afa937a6SRobert Mustacchi	$(LINK64.c) -o $@ $(OBJS64) $(LDLIBS64)
951566bc34SRobert Mustacchi	$(POST_PROCESS)
96