File: binaries.mk

package info (click to toggle)
imx-code-signing-tool 3.4.1%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,912 kB
  • sloc: ansic: 10,258; sh: 2,558; python: 391; yacc: 245; makefile: 203; lex: 59
file content (105 lines) | stat: -rw-r--r-- 2,995 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# SPDX-License-Identifier: BSD-3-Clause
#
# Freescale Semiconductor
# (c) Freescale Semiconductor, Inc. 2011-2015 All rights reserved.
# Copyright 2018-2020, 2022-2024 NXP
#
#===============================================================================
#
#    File Name:  binaries.mk
#
#    General Description: Common makefile for building the CST libraries and
#    tool executables.
#
#===============================================================================

# Default target
#===============================================================================
default: all

# Before including init.mk we need to set relative path to root
# current directory is obj.$(OSTYPE) that is two levels down from root
ROOTPATH := ../..
include ../build/make/$(OSTYPE).mk
include ../build/make/init.mk

# Binaries
#===============================================================================
LIB_BACKEND_SSL    := libbackend-ssl.a
LIB_FRONTEND       := libfrontend.a

EXE_SRKTOOL        := srktool$(EXEEXT)
EXE_CST            := cst$(EXEEXT)
EXE_CONVLB         := convlb$(EXEEXT)
EXE_HAB_LOG_PARSER := hab_log_parser$(EXEEXT)
EXE_MAC_DUMP       := mac_dump$(EXEEXT)

# Compiler and linker paths
#===============================================================================
CINCLUDES := $(foreach dir,$(VPATH),-I$(dir)/../hdr)

# OpenSSL
COPTIONS  += -I$(_OPENSSL_PATH)/include
LDOPTIONS += -L$(_OPENSSL_PATH) -L$(_OPENSSL_PATH)/lib
ifeq ($(OSTYPE),linux64)
LDOPTIONS += -L$(_OPENSSL_PATH)/lib64
endif

include ../build/make/$(TOOLCHAIN).mk
include ../build/make/objects.mk

# Build header dependency files list
#===============================================================================
DEPLIST := $(subst .o,.d,$(OBJECTS))

# Build Rules
#===============================================================================
all: build

# Executables to be released and where
EXECUTABLES := $(O)/$(OSTYPE)/bin/$(EXE_SRKTOOL)
EXECUTABLES += $(O)/$(OSTYPE)/bin/$(EXE_CST)
EXECUTABLES += $(O)/$(OSTYPE)/bin/$(EXE_HAB_LOG_PARSER)
EXECUTABLES += $(O)/$(OSTYPE)/bin/$(EXE_MAC_DUMP)

ifeq ($(OSTYPE),mingw32)
EXECUTABLES += $(O)/keys/$(EXE_CONVLB)
endif

BUILDS := $(EXECUTABLES)

build: $(notdir $(BUILDS))

install: build $(notdir $(EXECUTABLES))
	@echo "Copy executables"
	$(foreach EXE,$(EXECUTABLES), \
	if [ -f "$(notdir $(EXE))" ]; then \
		$(INSTALL) -D -m 755 $(notdir $(EXE)) $(EXE); \
		strip $(EXE); \
	fi;)

$(EXE_SRKTOOL): $(OBJECTS_SRKTOOL)

$(LIB_BACKEND_SSL): $(OBJECTS_BACKEND_SSL)

$(LIB_FRONTEND): $(OBJECTS_FRONTEND)

$(EXE_CST): $(LIB_FRONTEND) $(LIB_BACKEND_SSL)

$(EXE_CONVLB): $(OBJECTS_CONVLB)

ifneq ($(strip $(OBJECTS_HAB_LOG_PARSER)),)
$(EXE_HAB_LOG_PARSER): $(OBJECTS_HAB_LOG_PARSER)
else
$(EXE_HAB_LOG_PARSER):
	@echo "No objects to build $(EXE_HAB_LOG_PARSER), skipping."
endif

$(EXE_MAC_DUMP): $(OBJECTS_MAC_DUMP)

clean:
	@echo "Clean obj.$(OSTYPE)"
	@$(FIND) . -type f ! -name "Makefile" -execdir $(RM) {} +

include ../build/make/rules.mk
-include $(DEPLIST)