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. 14*d53cdfabSRobert Mustacchi# Copyright 2021 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 22176a9270SRobert MustacchiOBJS = smbios.o \ 23*d53cdfabSRobert Mustacchi smbios_test_chassis.o \ 24176a9270SRobert Mustacchi smbios_test_errors.o \ 25*d53cdfabSRobert Mustacchi smbios_test_fwinfo.o \ 26176a9270SRobert Mustacchi smbios_test_memdevice.o \ 27176a9270SRobert Mustacchi smbios_test_pinfo.o \ 28*d53cdfabSRobert Mustacchi smbios_test_slot.o \ 29*d53cdfabSRobert Mustacchi smbios_test_strings.o \ 30*d53cdfabSRobert Mustacchi smbios_test_strprop.o 311566bc34SRobert MustacchiPROGS = smbios 321566bc34SRobert Mustacchi 331566bc34SRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd 341566bc34SRobert Mustacchiinclude $(SRC)/test/Makefile.com 351566bc34SRobert Mustacchi 361566bc34SRobert MustacchiCMDS = $(PROGS:%=$(TESTDIR)/%) 371566bc34SRobert Mustacchi$(CMDS) := FILEMODE = 0555 38*d53cdfabSRobert MustacchiCSTD = $(GNU_C99) 39*d53cdfabSRobert Mustacchi 40*d53cdfabSRobert Mustacchi# 41*d53cdfabSRobert Mustacchi# Since this program uses quite a number of variables declared on the 42*d53cdfabSRobert Mustacchi# stack that are then written to by libsmbios, we opt to pay the cost 43*d53cdfabSRobert Mustacchi# of always have the stack protector on every function as an additional 44*d53cdfabSRobert Mustacchi# means of checking ourselves. 45*d53cdfabSRobert Mustacchi# 46*d53cdfabSRobert MustacchiSTACKPROTECT = all 471566bc34SRobert Mustacchi 481566bc34SRobert MustacchiLDLIBS += -lsmbios -lumem 491566bc34SRobert MustacchiCFLAGS += -_gcc=-Wall -_gcc=-Wextra -_gcc=-Wno-unknown-pragmas 501566bc34SRobert Mustacchi 511566bc34SRobert Mustacchiall: $(PROGS) 521566bc34SRobert Mustacchi 53176a9270SRobert Mustacchiinstall: all $(CMDS) 541566bc34SRobert Mustacchi 551566bc34SRobert Mustacchiclobber: clean 56176a9270SRobert Mustacchi -$(RM) $(PROGS) 571566bc34SRobert Mustacchi 581566bc34SRobert Mustacchiclean: 59176a9270SRobert Mustacchi -$(RM) $(OBJS) 601566bc34SRobert Mustacchi 61176a9270SRobert Mustacchi$(CMDS): $(TESTDIR) $(PROGS) 621566bc34SRobert Mustacchi 631566bc34SRobert Mustacchi$(TESTDIR): 641566bc34SRobert Mustacchi $(INS.dir) 651566bc34SRobert Mustacchi 661566bc34SRobert Mustacchi$(TESTDIR)/%: % 671566bc34SRobert Mustacchi $(INS.file) 681566bc34SRobert Mustacchi 69176a9270SRobert Mustacchi$(PROGS): $(OBJS) 70176a9270SRobert Mustacchi $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 711566bc34SRobert Mustacchi $(POST_PROCESS) 72