embox
53 строки · 1.8 Кб
1EMBOX_TARGET_CC =$(shell which $(EMBOX_CROSS_COMPILE)gcc)
2
3AT=
4
5UNIXBENCH_DIR = $(BUILD_DIR)
6UNIXBENCH_FLAGS = $(UNIXBENCH_DIR)/flags
7
8EMBOX_IMPORTED_CPPFLAGS += -I$(abspath .)/include
9#EMBOX_IMPORTED_CPPFLAGS += -save-temps=obj
10EMBOX_IMPORTED_CPPFLAGS += $(filter -I%,$(EMBOX_CPPFLAGS))
11EMBOX_IMPORTED_CPPFLAGS += $(filter -nostdinc,$(EMBOX_CPPFLAGS))
12EMBOX_IMPORTED_CPPFLAGS += $(filter -D__EMBOX__,$(EMBOX_CPPFLAGS))
13
14EMBOX_IMPORTED_CFLAGS += $(EMBOX_IMPORTED_CPPFLAGS)
15EMBOX_IMPORTED_CFLAGS += $(filter -I%,$(EMBOX_CXXFLAGS))
16EMBOX_IMPORTED_CFLAGS += $(filter -fno-common,$(EMBOX_CFLAGS))
17EMBOX_IMPORTED_CFLAGS += $(filter -march%,$(EMBOX_CFLAGS))
18EMBOX_IMPORTED_CFLAGS += $(filter -m32,$(EMBOX_CFLAGS))
19EMBOX_IMPORTED_CFLAGS += $(filter -fno-stack-protector,$(EMBOX_CFLAGS))
20EMBOX_IMPORTED_CFLAGS += $(filter -std=gnu99,$(EMBOX_CFLAGS))
21EMBOX_IMPORTED_CFLAGS += $(filter -g,$(EMBOX_CFLAGS))
22EMBOX_IMPORTED_CFLAGS += $(filter -gdwarf-2,$(EMBOX_CFLAGS))
23
24
25EMBOX_IMPORTED_MAKEFLAGS += $(filter -j,$(EMBOX_MAKEFLAGS))
26ifneq ($(filter -j,$(EMBOX_MAKEFLAGS)),)
27EMBOX_IMPORTED_MAKEFLAGS += $(shell nproc)
28endif
29
30EMBOX_DERIVED_CFLAGS += $(EMBOX_IMPORTED_CFLAGS)
31EMBOX_DERIVED_CC = $(EMBOX_TARGET_CC)
32
33
34all:
35
36.PHONY: all $(UNIXBENCH_LIB)
37
38$(UNIXBENCH_DIR):
39$(AT)mkdir -p $@
40
41$(UNIXBENCH_FLAGS): | $(UNIXBENCH_DIR)
42-$(AT)rm $@
43$(AT)echo EMBOX_DERIVED_CFLAGS=\"$(EMBOX_DERIVED_CFLAGS)\" >> $@
44$(AT)echo EMBOX_DERIVED_CC=\"$(EMBOX_DERIVED_CC)\" >> $@
45$(AT)echo EMBOX_ROOT=\"$(ROOT_DIR)\" >> $@
46
47$(UNIXBENCH_DIR)/Makefile: CMakeLists.txt $(UNIXBENCH_FLAGS) | $(UNIXBENCH_DIR)
48$(AT)cd $(UNIXBENCH_DIR) && $(shell cat $(UNIXBENCH_FLAGS)) cmake -DCMAKE_BUILD_TYPE=Debug $(shell pwd)
49
50all: $(UNIXBENCH_DIR)/Makefile
51$(AT)cd $(UNIXBENCH_DIR) && $(MAKE) VERBOSE=1 # -j `nproc`
52
53.NOTPARALLEL:
54