mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
87 lines
2.3 KiB
Diff
87 lines
2.3 KiB
Diff
diff --git a/Makefile b/Makefile
|
|
index 49b1f6f..2c96eae 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -33,6 +33,8 @@ CONFIG_LTO=y
|
|
#CONFIG_WERROR=y
|
|
# force 32 bit build for some utilities
|
|
#CONFIG_M32=y
|
|
+# build with -Os instead of -O2
|
|
+#CONFIG_SMALL=y
|
|
|
|
ifdef CONFIG_DARWIN
|
|
# use clang instead of gcc
|
|
@@ -52,6 +54,13 @@ CONFIG_BIGNUM=y
|
|
|
|
OBJDIR=.obj
|
|
|
|
+CFLAGS_ENV:=$(CFLAGS)
|
|
+LDFLAGS_ENV:=$(LDFLAGS)
|
|
+
|
|
+HOST_BUILD=
|
|
+CFLAGS=$(if $(HOST_BUILD),,$(CFLAGS_ENV))
|
|
+LDFLAGS=$(if $(HOST_BUILD),,$(LDFLAGS_ENV))
|
|
+
|
|
ifdef CONFIG_WIN32
|
|
ifdef CONFIG_M32
|
|
CROSS_PREFIX=i686-w64-mingw32-
|
|
@@ -66,7 +75,7 @@ endif
|
|
ifdef CONFIG_CLANG
|
|
HOST_CC=clang
|
|
CC=$(CROSS_PREFIX)clang
|
|
- CFLAGS=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
+ CFLAGS += -g -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
CFLAGS += -Wextra
|
|
CFLAGS += -Wno-sign-compare
|
|
CFLAGS += -Wno-missing-field-initializers
|
|
@@ -87,7 +96,7 @@ ifdef CONFIG_CLANG
|
|
else
|
|
HOST_CC=gcc
|
|
CC=$(CROSS_PREFIX)gcc
|
|
- CFLAGS=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
+ CFLAGS += -g -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
CFLAGS += -Wno-array-bounds -Wno-format-truncation
|
|
ifdef CONFIG_LTO
|
|
AR=$(CROSS_PREFIX)gcc-ar
|
|
@@ -110,9 +119,13 @@ endif
|
|
CFLAGS+=$(DEFINES)
|
|
CFLAGS_DEBUG=$(CFLAGS) -O0
|
|
CFLAGS_SMALL=$(CFLAGS) -Os
|
|
+ifdef CONFIG_SMALL
|
|
+CFLAGS_OPT=$(CFLAGS) -Os
|
|
+else
|
|
CFLAGS_OPT=$(CFLAGS) -O2
|
|
+endif
|
|
CFLAGS_NOLTO:=$(CFLAGS_OPT)
|
|
-LDFLAGS=-g
|
|
+LDFLAGS+=-g
|
|
ifdef CONFIG_LTO
|
|
CFLAGS_SMALL+=-flto
|
|
CFLAGS_OPT+=-flto
|
|
@@ -195,6 +208,8 @@ qjsc$(EXE): $(OBJDIR)/qjsc.o $(QJS_LIB_OBJS)
|
|
|
|
ifneq ($(CROSS_PREFIX),)
|
|
|
|
+$(QJSC): HOST_BUILD=1
|
|
+
|
|
$(QJSC): $(OBJDIR)/qjsc.host.o \
|
|
$(patsubst %.o, %.host.o, $(QJS_LIB_OBJS))
|
|
$(HOST_CC) $(LDFLAGS) -o $@ $^ $(HOST_LIBS)
|
|
@@ -262,6 +277,8 @@ run-test262-32: $(patsubst %.o, %.m32.o, $(OBJDIR)/run-test262.o $(QJS_LIB_OBJS)
|
|
$(OBJDIR)/%.o: %.c | $(OBJDIR)
|
|
$(CC) $(CFLAGS_OPT) -c -o $@ $<
|
|
|
|
+$(OBJDIR)/%.host.o: HOST_BUILD=1
|
|
+
|
|
$(OBJDIR)/%.host.o: %.c | $(OBJDIR)
|
|
$(HOST_CC) $(CFLAGS_OPT) -c -o $@ $<
|
|
|
|
@@ -286,6 +303,8 @@ $(OBJDIR)/%.check.o: %.c | $(OBJDIR)
|
|
regexp_test: libregexp.c libunicode.c cutils.c
|
|
$(CC) $(LDFLAGS) $(CFLAGS) -DTEST -o $@ libregexp.c libunicode.c cutils.c $(LIBS)
|
|
|
|
+unicode_gen: HOST_BUILD=1
|
|
+
|
|
unicode_gen: $(OBJDIR)/unicode_gen.host.o $(OBJDIR)/cutils.host.o libunicode.c unicode_gen_def.h
|
|
$(HOST_CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJDIR)/unicode_gen.host.o $(OBJDIR)/cutils.host.o
|
|
|