blob: 745cc9c9025812a1af5253f8595f71178f739949 [file] [log] [blame]
Gaurav Shah322536d2010-01-28 15:01:23 -08001# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Gaurav Shahfc70d722010-03-31 13:26:55 -07005INCLUDES += -I./include \
Gaurav Shahf6667802010-05-28 11:47:33 -07006 -I$(FWDIR)/lib/include \
Randall Spangler3003c1d2010-05-27 09:20:11 -07007 -I$(FWDIR)/lib/cgptlib/include \
Bill Richardson0b8f35c2010-05-26 09:18:38 -07008 -I$(FWDIR)/lib/cryptolib/include \
Randall Spangler39f66112010-07-14 09:10:23 -07009 -I$(FWDIR)/lib/tpm_lite/include \
Randall Spangler620c38c2010-06-17 14:45:22 -070010 -I$(HOSTDIR)/include
vbendeb70e95092010-06-14 15:41:27 -070011CFLAGS += $(INCLUDES)
12CFLAGS += -MMD -MF $@.d
Randall Spangler620c38c2010-06-17 14:45:22 -070013LIBS = $(HOSTLIB) $(FWLIB)
Luigi Semenzato5896b962010-08-25 07:16:03 -070014HOSTCC = cc
Gaurav Shah431b9882010-02-12 15:54:37 -080015
vbendeb70e95092010-06-14 15:41:27 -070016BUILD_ROOT = ${BUILD}/utility
17
Bill Richardsonf1372d92010-06-11 09:15:55 -070018DESTDIR ?= /usr/bin
Bill Richardson5374a062010-06-02 08:23:30 -070019
vbendeb70e95092010-06-14 15:41:27 -070020TARGET_NAMES = dumpRSAPublicKey \
Will Drewry46186fa2010-06-25 13:40:43 -050021 dump_kernel_config \
Hung-Te Lin262668f2010-05-28 10:32:02 -070022 gbb_utility \
Randall Spangler19d13132010-06-03 09:43:43 -070023 load_kernel_test \
Gaurav Shahed9c96a2010-03-30 18:56:07 -070024 signature_digest_utility \
Randall Spangler39f66112010-07-14 09:10:23 -070025 tlcl_generator \
Luigi Semenzatofda94882010-08-04 11:51:13 -070026 tpm_init_temp_fix \
Luigi Semenzatoe72291c2010-08-10 09:46:09 -070027 tpmc \
Randall Spanglerdcab8fa2010-06-15 14:50:51 -070028 vbutil_firmware \
Randall Spangler7d6898d2010-06-11 09:22:13 -070029 vbutil_kernel \
Randall Spanglerdcab8fa2010-06-15 14:50:51 -070030 vbutil_key \
Randall Spangler6a97b3e2010-06-10 17:55:02 -070031 vbutil_keyblock \
Bill Richardson4f36ef32010-08-09 17:50:14 -070032 verify_data \
Bill Richardson5aa673c2010-08-10 12:20:34 -070033 dev_make_keypair \
34 dev_sign_file
Gaurav Shahed9c96a2010-03-30 18:56:07 -070035
vbendeb70e95092010-06-14 15:41:27 -070036TARGET_BINS = $(addprefix ${BUILD_ROOT}/,$(TARGET_NAMES))
37ALL_DEPS = $(addsuffix .d,${TARGET_BINS})
38
Bill Richardsonf1372d92010-06-11 09:15:55 -070039all: $(TARGET_BINS)
Gaurav Shahed9c96a2010-03-30 18:56:07 -070040
vbendeb70e95092010-06-14 15:41:27 -070041${BUILD_ROOT}/dumpRSAPublicKey: dumpRSAPublicKey.c
Gaurav Shahfc70d722010-03-31 13:26:55 -070042 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ -lcrypto
Gaurav Shahcb3d22e2010-03-04 10:22:36 -080043
Will Drewry46186fa2010-06-25 13:40:43 -050044${BUILD_ROOT}/dump_kernel_config: dump_kernel_config.c $(LIBS)
45 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
46
vbendeb70e95092010-06-14 15:41:27 -070047${BUILD_ROOT}/gbb_utility: gbb_utility.cc
48 $(CXX) -DWITH_UTIL_MAIN $(CFLAGS) $< -o $@
Hung-Te Lin262668f2010-05-28 10:32:02 -070049
vbendeb70e95092010-06-14 15:41:27 -070050${BUILD_ROOT}/load_kernel_test: load_kernel_test.c $(LIBS)
Randall Spanglerd1836442010-06-10 09:59:04 -070051 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
52
vbendeb70e95092010-06-14 15:41:27 -070053${BUILD_ROOT}/signature_digest_utility: signature_digest_utility.c $(LIBS)
Randall Spanglerd1836442010-06-10 09:59:04 -070054 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
Gaurav Shah431b9882010-02-12 15:54:37 -080055
Gaurav Shah553d00e2010-07-19 19:22:10 -070056${BUILD_ROOT}/tlcl_generator: tlcl_generator.c
Luigi Semenzato5896b962010-08-25 07:16:03 -070057 $(HOSTCC) $(CFLAGS) $(INCLUDES) -fpack-struct $< -o $@
Randall Spangler39f66112010-07-14 09:10:23 -070058
Randall Spanglerdcab8fa2010-06-15 14:50:51 -070059${BUILD_ROOT}/vbutil_firmware: vbutil_firmware.c $(LIBS)
60 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
61
vbendeb70e95092010-06-14 15:41:27 -070062${BUILD_ROOT}/vbutil_kernel: vbutil_kernel.c $(LIBS)
Randall Spangler7d6898d2010-06-11 09:22:13 -070063 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
64
vbendeb70e95092010-06-14 15:41:27 -070065${BUILD_ROOT}/vbutil_key: vbutil_key.c $(LIBS)
Randall Spanglerd55c6452010-06-10 12:43:51 -070066 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
67
vbendeb70e95092010-06-14 15:41:27 -070068${BUILD_ROOT}/vbutil_keyblock: vbutil_keyblock.c $(LIBS)
Randall Spangler6a97b3e2010-06-10 17:55:02 -070069 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
70
vbendeb70e95092010-06-14 15:41:27 -070071${BUILD_ROOT}/verify_data: verify_data.c $(LIBS)
Randall Spanglerd1836442010-06-10 09:59:04 -070072 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
Gaurav Shah431b9882010-02-12 15:54:37 -080073
vbendebe3b4ac92010-06-15 15:01:20 -070074${BUILD_ROOT}/sign_image: sign_image.c $(LIBS)
75 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
Bill Richardson371df8b2010-05-27 14:19:47 -070076
Luigi Semenzatofda94882010-08-04 11:51:13 -070077${BUILD_ROOT}/tpm_init_temp_fix: tpm_init_temp_fix.c $(LIBS)
78 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS)
79
Bill Richardson4f36ef32010-08-09 17:50:14 -070080${BUILD_ROOT}/dev_make_keypair: dev_make_keypair
81 cp -f $< $@
82
Luigi Semenzatoe72291c2010-08-10 09:46:09 -070083${BUILD_ROOT}/tpmc: tpmc.c $(LIBS)
84 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS)
85
Bill Richardson5aa673c2010-08-10 12:20:34 -070086${BUILD_ROOT}/dev_sign_file: dev_sign_file.c $(LIBS)
87 $(CC) $(CFLAGS) $(INCLUDES) $< -o $@ $(LIBS) -lcrypto
88
Bill Richardsonf1372d92010-06-11 09:15:55 -070089install: $(TARGET_BINS)
Bill Richardson371df8b2010-05-27 14:19:47 -070090 mkdir -p $(DESTDIR)
Bill Richardson5374a062010-06-02 08:23:30 -070091 cp -f $(TARGET_BINS) $(DESTDIR)
vbendeb70e95092010-06-14 15:41:27 -070092 chmod a+rx $(patsubst %,$(DESTDIR)/%,$(TARGET_NAMES))
Randall Spanglerd1836442010-06-10 09:59:04 -070093
Randall Spangler39f66112010-07-14 09:10:23 -070094STRUCTURES_TMP=${BUILD}/tlcl_structures.tmp
95STRUCTURES_SRC=${FWDIR}/lib/tpm_lite/include/tlcl_structures.h
96
97update_tlcl_structures: ${BUILD_ROOT}/tlcl_generator
98 ${BUILD_ROOT}/tlcl_generator > $(STRUCTURES_TMP)
99 cmp -s $(STRUCTURES_TMP) $(STRUCTURES_SRC) || \
100 ( echo "%% Updating structures.h %%" && \
101 cp $(STRUCTURES_TMP) $(STRUCTURES_SRC) )
102
vbendeb2a015562010-06-16 12:49:31 -0700103-include ${ALL_DEPS}