2019-03-22 00:32:08 +08:00
|
|
|
$(shell mkdir -p $(DST_DIR))
|
2017-06-19 21:24:34 +08:00
|
|
|
|
2019-03-22 00:32:08 +08:00
|
|
|
OBJS = $(addprefix $(DST_DIR)/, $(addsuffix .o, $(basename $(SRCS))))
|
|
|
|
AS = $(CROSS_COMPILE)gcc
|
|
|
|
CC = $(CROSS_COMPILE)gcc
|
|
|
|
CXX = $(CROSS_COMPILE)g++
|
|
|
|
LD = $(CROSS_COMPILE)ld
|
|
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
|
|
READELF = $(CROSS_COMPILE)readelf
|
2017-06-02 20:40:03 +08:00
|
|
|
INCLUDES = $(addprefix -I, $(INC_DIR)) -I$(AM_HOME)/am/
|
2019-02-17 15:19:33 +08:00
|
|
|
INCLUDES += -I$(AM_HOME)/am/include
|
2019-03-22 13:31:30 +08:00
|
|
|
CFLAGS += -O2 -MMD -Wall -Werror -ggdb $(INCLUDES) \
|
|
|
|
-D__ISA__=\"$(ISA)\" -D__ISA_$(shell echo $(ISA) | tr a-z A-Z)__ \
|
2019-03-22 18:23:23 +08:00
|
|
|
-D__ARCH__=$(ARCH) -D__ARCH_$(shell echo $(ARCH) | tr a-z A-Z | tr - _) \
|
|
|
|
-DARCH_H=\"arch/$(ARCH).h\" \
|
2019-03-22 00:32:08 +08:00
|
|
|
-fno-asynchronous-unwind-tables -fno-builtin -fno-stack-protector
|
2018-10-12 10:31:37 +08:00
|
|
|
|
2017-05-21 22:10:24 +08:00
|
|
|
$(DST_DIR)/%.o: %.c
|
2019-03-21 17:57:49 +08:00
|
|
|
@mkdir -p $(dir $@) && echo + CC $<
|
|
|
|
@$(CC) -std=gnu11 $(CFLAGS) -c -o $@ $(realpath $<)
|
2019-03-22 00:32:08 +08:00
|
|
|
|
2019-03-21 17:57:49 +08:00
|
|
|
$(DST_DIR)/%.o: %.cpp
|
|
|
|
@mkdir -p $(dir $@) && echo + CXX $<
|
|
|
|
@$(CXX) -std=c++11 -ffreestanding -fno-rtti -fno-exceptions $(CXXFLAGS) $(CFLAGS) -c -o $@ $(realpath $<)
|
2019-03-22 00:32:08 +08:00
|
|
|
|
2017-05-21 22:10:24 +08:00
|
|
|
$(DST_DIR)/%.o: %.S
|
2019-03-21 17:57:49 +08:00
|
|
|
@mkdir -p $(dir $@) && echo + AS $<
|
2019-03-22 13:31:30 +08:00
|
|
|
@$(AS) -MMD $(INCLUDES) $(ASFLAGS) -c -o $@ $(realpath $<)
|
2017-05-21 21:17:11 +08:00
|
|
|
|
2019-03-22 00:32:08 +08:00
|
|
|
# Dependencies (gcc generated .d)
|
|
|
|
-include $(addprefix $(DST_DIR)/, $(addsuffix .d, $(basename $(SRCS))))
|
2017-06-02 20:40:03 +08:00
|
|
|
|
2019-03-22 00:32:08 +08:00
|
|
|
# Libraries
|
2017-06-02 20:40:03 +08:00
|
|
|
am:
|
2019-02-17 20:12:19 +08:00
|
|
|
@$(MAKE) -s -C $(AM_HOME)
|
2019-03-22 00:32:08 +08:00
|
|
|
|
2017-08-12 15:55:44 +08:00
|
|
|
$(sort $(LIBS)): %:
|
2019-02-17 20:12:19 +08:00
|
|
|
@$(MAKE) -s -C $(AM_HOME)/libs/$*
|
2019-03-22 00:32:08 +08:00
|
|
|
|
|
|
|
.PHONY: $(LIBS) am
|