diff options
author | danh-arm <dan.handley@arm.com> | 2016-04-07 17:11:45 +0100 |
---|---|---|
committer | danh-arm <dan.handley@arm.com> | 2016-04-07 17:11:45 +0100 |
commit | 91e8ae66310142e9a62cb5fb45ade83d434acf95 (patch) | |
tree | 8774ff8fe05a8b82e33fe051aa5e804bfe1899dd /tools | |
parent | 105b59e7bb47b41daf8b707921203d13151b3227 (diff) | |
parent | 414ab8530dbd669e632dc09abb84eed88e8ebdb7 (diff) |
Merge pull request #578 from EvanLloyd/ejll/woa_make2
Make improvements for host environment portability
Diffstat (limited to 'tools')
-rw-r--r-- | tools/cert_create/Makefile | 30 | ||||
-rw-r--r-- | tools/fip_create/Makefile | 46 | ||||
l--------- | tools/fip_create/firmware_image_package.h | 1 | ||||
l--------- | tools/fip_create/uuid.h | 1 |
4 files changed, 48 insertions, 30 deletions
diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile index 8d7b8a52..27545bae 100644 --- a/tools/cert_create/Makefile +++ b/tools/cert_create/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. +# Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -32,7 +32,7 @@ PROJECT := cert_create PLAT := none V := 0 DEBUG := 0 -BINARY := ${PROJECT} +BINARY := ${PROJECT}${BIN_EXT} OPENSSL_DIR := /usr OBJECTS := src/cert.o \ @@ -47,15 +47,17 @@ OBJECTS := src/cert.o \ CFLAGS := -Wall -std=c99 -# Check the platform -ifeq (${PLAT},none) - $(error "Error: Unknown platform. Please use PLAT=<platform name> to specify the platform") -endif -PLAT_MAKEFILE := platform.mk -PLAT_INCLUDE := $(shell find ../../plat/ -wholename '*/${PLAT}/${PLAT_MAKEFILE}' | \ - sed 's/${PLAT_MAKEFILE}/include/') +MAKE_HELPERS_DIRECTORY := ../../make_helpers/ +include ${MAKE_HELPERS_DIRECTORY}build_macros.mk +include ${MAKE_HELPERS_DIRECTORY}build_env.mk + +PLATFORM_ROOT := ../../plat/ +include ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk + +PLAT_INCLUDE := $(wildcard ${PLAT_DIR}include) + ifeq ($(PLAT_INCLUDE),) - $(error "Error: Invalid platform '${PLAT}'") + $(error "Error: Invalid platform '${PLAT}' has no include directory.") endif ifeq (${DEBUG},1) @@ -76,9 +78,8 @@ LIB_DIR := -L ${OPENSSL_DIR}/lib LIB := -lssl -lcrypto CC := gcc -RM := rm -rf -.PHONY: all clean +.PHONY: all clean realclean all: clean ${BINARY} @@ -94,7 +95,8 @@ ${BINARY}: ${OBJECTS} Makefile ${Q}${CC} -c ${CFLAGS} ${INC_DIR} $< -o $@ clean: - ${Q}${RM} -f src/build_msg.o ${OBJECTS} + $(call SHELL_DELETE_ALL, src/build_msg.o ${OBJECTS}) realclean: clean - ${Q}${RM} -f ${BINARY} + $(call SHELL_DELETE, ${BINARY}) + diff --git a/tools/fip_create/Makefile b/tools/fip_create/Makefile index c72bae53..2e367c2f 100644 --- a/tools/fip_create/Makefile +++ b/tools/fip_create/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2014, ARM Limited and Contributors. All rights reserved. +# Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -28,38 +28,56 @@ # POSSIBILITY OF SUCH DAMAGE. # -PROJECT = fip_create -OBJECTS = fip_create.o +MAKE_HELPERS_DIRECTORY := ../../make_helpers/ +include ${MAKE_HELPERS_DIRECTORY}build_macros.mk +include ${MAKE_HELPERS_DIRECTORY}build_env.mk -CFLAGS = -Wall -Werror -pedantic -std=c99 +PROJECT := fip_create${BIN_EXT} +OBJECTS := fip_create.o +COPIED_H_FILES := uuid.h firmware_image_package.h + +CFLAGS := -Wall -Werror -pedantic -std=c99 ifeq (${DEBUG},1) CFLAGS += -g -O0 -DDEBUG else CFLAGS += -O2 endif -# Make soft links and include from local directory otherwise wrong headers -# could get pulled in from firmware tree. -INCLUDE_PATHS = -I. +# Only include from local directory (see comment below). +INCLUDE_PATHS := -I. CC := gcc -RM := rm -rf -.PHONY: all clean +.PHONY: all clean distclean all: ${PROJECT} ${PROJECT}: ${OBJECTS} Makefile @echo " LD $@" ${Q}${CC} ${OBJECTS} -o $@ - @echo + @${ECHO_BLANK_LINE} @echo "Built $@ successfully" - @echo + @${ECHO_BLANK_LINE} -%.o: %.c %.h Makefile +%.o: %.c %.h ${COPIED_H_FILES} Makefile @echo " CC $<" ${Q}${CC} -c ${CFLAGS} ${INCLUDE_PATHS} $< -o $@ +# +# Copy required library headers to a local directory so they can be included +# by this project without adding the library directories to the system include +# path. This avoids conflicts with definitions in the compiler standard +# include path. +# +uuid.h : ../../include/stdlib/sys/uuid.h + $(call SHELL_COPY,$<,$@) + +firmware_image_package.h : ../../include/common/firmware_image_package.h + $(call SHELL_COPY,$<,$@) + clean: - ${Q}${RM} ${PROJECT} - ${Q}${RM} ${OBJECTS} + $(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS}) + +distclean: clean + $(call SHELL_DELETE_ALL, ${COPIED_H_FILES}) + diff --git a/tools/fip_create/firmware_image_package.h b/tools/fip_create/firmware_image_package.h deleted file mode 120000 index cc61903e..00000000 --- a/tools/fip_create/firmware_image_package.h +++ /dev/null @@ -1 +0,0 @@ -../../include/common/firmware_image_package.h
\ No newline at end of file diff --git a/tools/fip_create/uuid.h b/tools/fip_create/uuid.h deleted file mode 120000 index c77762f4..00000000 --- a/tools/fip_create/uuid.h +++ /dev/null @@ -1 +0,0 @@ -../../include/stdlib/sys/uuid.h
\ No newline at end of file |