Skip to content

Commit 24fbc79

Browse files
committed
Remove default handling of build options from Makefile
The handling of option defaults is already done in CMakeLists, it is no good practice to duplicate the logic in the Makefile. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
1 parent 3d6339b commit 24fbc79

File tree

2 files changed

+23
-37
lines changed

2 files changed

+23
-37
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Produced files
22

33
build/bin
4-
build/obj-*
4+
build/obj*
55
build/prerequisites
66
build/tests
77

Makefile

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -49,56 +49,47 @@ export MCU_MODS := cp cp_minimal
4949
export NATIVE_MODS := $(MCU_MODS) mem_stats mem_stress_test
5050

5151
# Options
52-
# Valgrind
53-
VALGRIND ?= OFF
52+
CMAKE_DEFINES:=
53+
BUILD_NAME:=
5454

55-
ifneq ($(VALGRIND),ON)
56-
VALGRIND := OFF
55+
# Valgrind
56+
ifneq ($(VALGRIND),)
57+
CMAKE_DEFINES:=$(CMAKE_DEFINES) -DENABLE_VALGRIND=$(VALGRIND)
58+
BUILD_NAME:=$(BUILD_NAME)-VALGRIND-$(VALGRIND)
5759
endif
5860

5961
# Valgrind Freya
60-
VALGRIND_FREYA ?= OFF
61-
62-
ifneq ($(VALGRIND_FREYA),ON)
63-
VALGRIND_FREYA := OFF
62+
ifneq ($(VALGRIND_FREYA),)
63+
CMAKE_DEFINES:=$(CMAKE_DEFINES) -DENABLE_VALGRIND_FREYA=$(VALGRIND_FREYA)
64+
BUILD_NAME:=$(BUILD_NAME)-VALGRIND_FREYA-$(VALGRIND_FREYA)
6465
endif
6566

6667
# LTO
67-
ifeq ($(NATIVE_SYSTEM),darwin)
68-
LTO ?= OFF
69-
else
70-
LTO ?= ON
71-
endif
72-
73-
ifneq ($(LTO),ON)
74-
LTO := OFF
68+
ifneq ($(LTO),)
69+
CMAKE_DEFINES:=$(CMAKE_DEFINES) -DENABLE_LTO=$(LTO)
70+
BUILD_NAME:=$(BUILD_NAME)-LTO-$(LTO)
7571
endif
7672

7773
# LOG
78-
LOG ?= OFF
79-
ifneq ($(LOG),ON)
80-
LOG := OFF
74+
ifneq ($(LOG),)
75+
CMAKE_DEFINES:=$(CMAKE_DEFINES) -DENABLE_LOG=$(LOG)
8176
endif
8277

8378
# All-in-one build
84-
ifeq ($(NATIVE_SYSTEM),darwin)
85-
ALL_IN_ONE ?= ON
86-
else
87-
ALL_IN_ONE ?= OFF
88-
endif
89-
90-
ifneq ($(ALL_IN_ONE),ON)
91-
ALL_IN_ONE := OFF
79+
ifneq ($(ALL_IN_ONE),)
80+
CMAKE_DEFINES:=$(CMAKE_DEFINES) -DENABLE_ALL_IN_ONE=$(ALL_IN_ONE)
81+
BUILD_NAME:=$(BUILD_NAME)-ALL_IN_ONE-$(ALL_IN_ONE)
9282
endif
9383

94-
# External build configuration
9584
# Flag, indicating whether to use compiler's default libc (YES / NO)
96-
USE_COMPILER_DEFAULT_LIBC ?= NO
85+
ifneq ($(USE_COMPILER_DEFAULT_LIBC),)
86+
CMAKE_DEFINES:=$(CMAKE_DEFINES) -DUSE_COMPILER_DEFAULT_LIBC=$(USE_COMPILER_DEFAULT_LIBC)
87+
endif
9788

9889
# Directories
9990
export ROOT_DIR := $(shell pwd)
10091
export BUILD_DIR_PREFIX := $(ROOT_DIR)/build/obj
101-
export BUILD_DIR := $(BUILD_DIR_PREFIX)-VALGRIND-$(VALGRIND)-VALGRIND_FREYA-$(VALGRIND_FREYA)-LTO-$(LTO)-ALL_IN_ONE-$(ALL_IN_ONE)
92+
export BUILD_DIR := $(BUILD_DIR_PREFIX)$(BUILD_NAME)
10293
export OUT_DIR := $(ROOT_DIR)/build/bin
10394
export PREREQUISITES_STATE_DIR := $(ROOT_DIR)/build/prerequisites
10495

@@ -220,12 +211,7 @@ define GEN_MAKEFILE_RULE
220211
.PHONY: $(1)/Makefile
221212
$(1)/Makefile: $(1)/toolchain.config
222213
$$(Q) $$(call SHLOG,(cd $(1) && cmake -G $$(BUILD_GENERATOR) \
223-
-DENABLE_VALGRIND=$$(VALGRIND) \
224-
-DENABLE_VALGRIND_FREYA=$$(VALGRIND_FREYA) \
225-
-DENABLE_LOG=$$(LOG) \
226-
-DENABLE_LTO=$$(LTO) \
227-
-DENABLE_ALL_IN_ONE=$$(ALL_IN_ONE) \
228-
-DUSE_COMPILER_DEFAULT_LIBC=$$(USE_COMPILER_DEFAULT_LIBC) \
214+
$$(CMAKE_DEFINES) \
229215
-DCMAKE_TOOLCHAIN_FILE=`cat toolchain.config` $$(ROOT_DIR) 2>&1),$(1)/cmake.log,CMake run)
230216
endef
231217

0 commit comments

Comments
 (0)