aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2025-04-02 21:14:23 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2025-04-02 21:14:23 +0300
commit6c2e51a3f8695cb95d6a4a6859d3f934e28c8f9f (patch)
tree376f59a4dfd4c30891090c471995b71008672ada
parent5de12ad388b07e536c9c8ea04683e5e16472651b (diff)
downloadejit-6c2e51a3f8695cb95d6a4a6859d3f934e28c8f9f.tar.gz
ejit-6c2e51a3f8695cb95d6a4a6859d3f934e28c8f9f.zip
improve build system a bit
-rw-r--r--scripts/makefile13
-rw-r--r--tests/makefile34
2 files changed, 36 insertions, 11 deletions
diff --git a/scripts/makefile b/scripts/makefile
index 3a4f200..bd02c98 100644
--- a/scripts/makefile
+++ b/scripts/makefile
@@ -29,16 +29,21 @@ OBJCOPY != [ "$(LLVM)" != "0" ] \
&& echo llvm-objcopy \
|| echo $(CROSS_COMPILE)objcopy
-COMPILER != [ "$(LLVM)" != "0" ] \
- && echo clang --target="$(CROSS_COMPILE)" \
- || echo $(CROSS_COMPILE)gcc
+COMPILER != [ -n "$(CROSS_COMPILE)" ] \
+ && { \
+ [ "$(LLVM)" != "0" ] \
+ && echo clang --target="$(CROSS_COMPILE)" \
+ || echo $(CROSS_COMPILE)gcc \
+ ; \
+ } \
+ || echo $(CC)
OBFLAGS := -g
WARNFLAGS := -Wall -Wextra
COMPILE_FLAGS := $(CFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(LTOFLAGS) \
- $(OBFLAGS) $(ASSERTFLAGS) $(DEBUGFLAGS)
+ $(OBFLAGS) $(DEBUGFLAGS)
INCLUDE_FLAGS := -I include
diff --git a/tests/makefile b/tests/makefile
index 5aeef98..081170f 100644
--- a/tests/makefile
+++ b/tests/makefile
@@ -1,14 +1,34 @@
include ./tests.mk
-LLVM ?= 0
-CROSS_COMPILE :=
-COMPILER != [ "$(LLVM)" != "0" ] \
- && echo clang --target="$(CROSS_COMPILE)" \
- || echo $(CROSS_COMPILE)gcc
+LLVM ?= 0
+COMPILER != [ -n "$(CROSS_COMPILE)" ] \
+ && { \
+ [ "$(LLVM)" != "0" ] \
+ && echo clang --target="$(CROSS_COMPILE)" \
+ || echo $(CROSS_COMPILE)gcc \
+ ; \
+ } \
+ || echo $(CC)
-CFLAGS := -Wall -Wextra -O0 -g
+RELEASE ?= 0
+OPTFLAGS != [ "$(RELEASE)" != "0" ] \
+ && echo "-O2" \
+ || echo "-O0"
+
+LTO ?= 0
+LTOFLAGS != [ "$(LTO)" != "0" ] \
+ && echo "-flto=auto"
+
+DEBUG ?= 1
+DEBUGFLAGS != [ "$(DEBUG)" != "0" ] \
+ && echo "-DDEBUG=1" \
+ || echo "-DNDEBUG=1"
+
+OBFLAGS := -g
+WARNFLAGS := -Wall -Wextra
INCLUDE_FLAGS := -I include
-COMPILE_TEST := $(COMPILER) $(CFLAGS) $(INCLUDE_FLAGS)
+COMPILE_TEST := $(COMPILER) $(WARNFLAGS) $(OPTFLAGS) $(LTOFLAGS) \
+ $(OBFLAGS) $(CFLAGS) $(DEBUGFLAGS) $(INCLUDE_FLAGS)
.PHONY: check
check: $(TESTS)