xref: /aosp_15_r20/external/gsc-utils/boot_param/Makefile (revision 4f2df630800bdcf1d4f0decf95d8a1cb87344f5f)
1*4f2df630SAndroid Build Coastguard Worker# Copyright 2024 The ChromiumOS Authors
2*4f2df630SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*4f2df630SAndroid Build Coastguard Worker# found in the LICENSE file.
4*4f2df630SAndroid Build Coastguard Worker
5*4f2df630SAndroid Build Coastguard WorkerCC ?= gcc
6*4f2df630SAndroid Build Coastguard WorkerPROGRAM := test_boot_param
7*4f2df630SAndroid Build Coastguard WorkerLIBS    := -lcrypto
8*4f2df630SAndroid Build Coastguard WorkerCFLAGS  += -std=gnu99 \
9*4f2df630SAndroid Build Coastguard Worker	-g \
10*4f2df630SAndroid Build Coastguard Worker	-Wall \
11*4f2df630SAndroid Build Coastguard Worker	-Werror \
12*4f2df630SAndroid Build Coastguard Worker	-Wpointer-arith \
13*4f2df630SAndroid Build Coastguard Worker	-Wcast-align \
14*4f2df630SAndroid Build Coastguard Worker	-Wundef \
15*4f2df630SAndroid Build Coastguard Worker	-Wsign-compare \
16*4f2df630SAndroid Build Coastguard Worker	-Wredundant-decls \
17*4f2df630SAndroid Build Coastguard Worker	-Wmissing-declarations
18*4f2df630SAndroid Build Coastguard WorkerRESULT_FILES := test_boot_param.cbor test_dice_chain.cbor
19*4f2df630SAndroid Build Coastguard WorkerPCR0_OPTION := normal
20*4f2df630SAndroid Build Coastguard WorkerPROGRAM_OPTIONS := $(RESULT_FILES) $(PCR0_OPTION)
21*4f2df630SAndroid Build Coastguard Worker
22*4f2df630SAndroid Build Coastguard Workerifneq ($(DEBUG),)
23*4f2df630SAndroid Build Coastguard WorkerCFLAGS += -O0
24*4f2df630SAndroid Build Coastguard Workerelse
25*4f2df630SAndroid Build Coastguard WorkerCFLAGS += -O3
26*4f2df630SAndroid Build Coastguard Workerendif
27*4f2df630SAndroid Build Coastguard Worker
28*4f2df630SAndroid Build Coastguard Workerifneq ($(DICE_DEBUG),)
29*4f2df630SAndroid Build Coastguard WorkerCFLAGS += -DDICE_DEBUG
30*4f2df630SAndroid Build Coastguard Workerendif
31*4f2df630SAndroid Build Coastguard Worker
32*4f2df630SAndroid Build Coastguard Workerall: test
33*4f2df630SAndroid Build Coastguard Worker
34*4f2df630SAndroid Build Coastguard Workertest: $(PROGRAM)
35*4f2df630SAndroid Build Coastguard Worker	./$(PROGRAM) $(PROGRAM_OPTIONS)
36*4f2df630SAndroid Build Coastguard Worker
37*4f2df630SAndroid Build Coastguard WorkerSOURCES := test.c boot_param.c boot_param_platform_host.c
38*4f2df630SAndroid Build Coastguard WorkerOBJS := $(patsubst %.c,%.o,$(SOURCES))
39*4f2df630SAndroid Build Coastguard WorkerDEPS := $(patsubst %.c,%.d,$(SOURCES))
40*4f2df630SAndroid Build Coastguard Worker
41*4f2df630SAndroid Build Coastguard Worker$(PROGRAM): $(OBJS) Makefile
42*4f2df630SAndroid Build Coastguard Worker	$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
43*4f2df630SAndroid Build Coastguard Worker
44*4f2df630SAndroid Build Coastguard Worker%.o: %.c Makefile
45*4f2df630SAndroid Build Coastguard Worker	$(CC) $(CFLAGS) $(CPPFLAGS) -c -MMD -MF $(basename $@).d -o $@ $<
46*4f2df630SAndroid Build Coastguard Worker
47*4f2df630SAndroid Build Coastguard Worker.PHONY: clean
48*4f2df630SAndroid Build Coastguard Workerclean:
49*4f2df630SAndroid Build Coastguard Worker	rm -rf $(PROGRAM) *~ *.o *.d $(RESULT_FILES)
50*4f2df630SAndroid Build Coastguard Worker
51*4f2df630SAndroid Build Coastguard Worker-include $(DEPS)
52