|
@@ -1,126 +0,0 @@
|
|
-PREFIX = /home/zj/risc-v/riscv64-unknown-elf-gcc-20170612-x86_64-linux-centos6/bin/riscv64-unknown-elf-
|
|
|
|
-CC = $(PREFIX)gcc
|
|
|
|
-CPP = $(PREFIX)g++
|
|
|
|
-AS = $(PREFIX)gcc
|
|
|
|
-AR = $(PREFIX)ar
|
|
|
|
-LINK = $(PREFIX)gcc
|
|
|
|
-SIZE = $(PREFIX)size
|
|
|
|
-OBJDUMP = $(PREFIX)objdump
|
|
|
|
-OBJCPY = $(PREFIX)objcopy
|
|
|
|
-GDB = $(PREFIX)gdb
|
|
|
|
-OPENOCD = /home/zj/risc-v/riscv-openocd-20170612-x86_64-linux-centos6/bin/openocd
|
|
|
|
-
|
|
|
|
-LIBS =
|
|
|
|
-DEVICE = -mcpu=arm926ej-s -ffunction-sections -fdata-sections
|
|
|
|
-CFLAGS = $(DEVICE) $(patsubst %, -I"%", $(CPATH))
|
|
|
|
-CXXFLAGS= $(CFLAGS)
|
|
|
|
-AFLAGS = $(DEVICE) -c -x assembler-with-cpp
|
|
|
|
-LFLAGS = $(DEVICE) -Wl,-Map=$(TARGET).map,-cref,-u,Reset_Handler \
|
|
|
|
- -T "ld" -nostartfiles $(patsubst %, -l%, $(LIBS)) \
|
|
|
|
- $(patsubst %, -L"%", $(LPATH))
|
|
|
|
-
|
|
|
|
-CPATH =
|
|
|
|
-LPATH =
|
|
|
|
-################################################################
|
|
|
|
-BUILD = debug
|
|
|
|
-#BUILD = release
|
|
|
|
-#BUILD_LIB = yes
|
|
|
|
-BUILD_LIB = no
|
|
|
|
-################################################################
|
|
|
|
-
|
|
|
|
-ifeq '$(BUILD)' 'debug'
|
|
|
|
- CFLAGS += -O0 -gdwarf-2
|
|
|
|
- AFLAGS += -gdwarf-2
|
|
|
|
-else
|
|
|
|
- CFLAGS += -O2
|
|
|
|
-endif
|
|
|
|
-
|
|
|
|
-ROOT_DIR = $(shell pwd)
|
|
|
|
-SUB_DIR = ${shell ls -l "${ROOT_DIR}" | grep ^d | awk '{if($$9 != "build") print $$9 }'}
|
|
|
|
-################################################################
|
|
|
|
-BUILD_DIR = $(ROOT_DIR)/build/$(BUILD)
|
|
|
|
-BUILD_LIB_DIR =$(LPATH)
|
|
|
|
-################################################################
|
|
|
|
-TARGET = rtthread
|
|
|
|
-export CC CPP AS AR LINK SIZE OBJDUMP OBJCPY DEVICE CFLAGS CXXFLAGS ASFLAGS LFLAGS ROOT_DIR \
|
|
|
|
- BUILD BUILD_DIR BUILD_LIB_DIR
|
|
|
|
-
|
|
|
|
-SRC_FILE = ${wildcard *.c}
|
|
|
|
-SRC_FILE += ${wildcard *.cpp}
|
|
|
|
-SRC_FILE += ${wildcard *.s}
|
|
|
|
-#SRC_FILE = ${shell ls *.c}
|
|
|
|
-#OBJ_FILE = ${SRC_FILE:.c=.o}
|
|
|
|
-TMP = ${patsubst %.c, %.o, ${SRC_FILE}}
|
|
|
|
-TMP += ${patsubst %.cpp, %.o, ${SRC_FILE}}
|
|
|
|
-TMP += ${patsubst %.s, %.o, ${SRC_FILE}}
|
|
|
|
-OBJ_FILE = $(filter %.o, $(TMP))
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-# Attempt to create a output directory.
|
|
|
|
-$(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR})
|
|
|
|
-# Verify if it was successful.
|
|
|
|
-BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd)
|
|
|
|
-$(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist))
|
|
|
|
-
|
|
|
|
-#all: $(TARGET)
|
|
|
|
-all:
|
|
|
|
- scons -j4
|
|
|
|
- #${SIZE} -d "$(TARGET).axf"
|
|
|
|
- ${OBJDUMP} -S -D "$(TARGET).axf" > "${TARGET}.s"
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-$(SUB_DIR):ECHO
|
|
|
|
- -make -C "${ROOT_DIR}/$@"
|
|
|
|
-
|
|
|
|
-%.o:%.cpp
|
|
|
|
- ${CPP} ${CXXFLAGS} -c "$^" -o "${BUILD_DIR}/$@"
|
|
|
|
-
|
|
|
|
-%.o:%.c
|
|
|
|
- ${CC} ${CFLAGS} -c "$^" -o "${BUILD_DIR}/$@"
|
|
|
|
-
|
|
|
|
-%.o:%.s
|
|
|
|
- ${AS} ${ASFLAGS} -c "$^" -o "${BUILD_DIR}/$@"
|
|
|
|
-
|
|
|
|
-ifneq "$(BUILD_LIB)" "yes"
|
|
|
|
-
|
|
|
|
-$(TARGET): $(SUB_DIR) $(OBJ_FILE)
|
|
|
|
- cd "${BUILD_DIR}" && ${CC} $(filter %.o, $(shell ls "$(BUILD_DIR)")) ${LFLAGS} -o "$(ROOT_DIR)/$(TARGET)"
|
|
|
|
- ${OBJCPY} -I elf32-littlearm -O ihex $(TARGET) $(TARGET).hex
|
|
|
|
- ${OBJCPY} -I elf32-littlearm -O binary $(TARGET) $(TARGET).bin
|
|
|
|
- ${SIZE} -d "$(TARGET)"
|
|
|
|
-
|
|
|
|
-else
|
|
|
|
-
|
|
|
|
-$(TARGET): $(SUB_DIR) $(OBJ_FILE)
|
|
|
|
- cd "${BUILD_DIR}" && ${AR} -rc "$(BUILD_LIB_DIR)/lib${TARGET}.a" $(filter %.o, $(shell ls "$(BUILD_DIR)"))
|
|
|
|
-
|
|
|
|
-endif
|
|
|
|
-
|
|
|
|
-ECHO:
|
|
|
|
- @echo ${SUB_DIR}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-DEBUG_INTERFACE = jlink
|
|
|
|
-#DEBUG_INTERFACE = stlink-v2
|
|
|
|
-#DEBUG_INTERFACE = ftdi/openjtag
|
|
|
|
-
|
|
|
|
-GDB_CMD = -ex "tar ext 127.0.0.1:3333"
|
|
|
|
-#GDB_CMD += -ex "monitor reset halt"
|
|
|
|
-#GDB_CMD += -ex "monitor step 0x20400000"
|
|
|
|
-GDB_CMD += --command=.gdbinit
|
|
|
|
-
|
|
|
|
-run:
|
|
|
|
- setsid ${OPENOCD} > /dev/null 2>&1 &
|
|
|
|
- ${GDB} ${TARGET}.axf ${GDB_CMD}
|
|
|
|
- killall -9 openocd
|
|
|
|
-
|
|
|
|
-programe:
|
|
|
|
- setsid ${OPENOCD} > /dev/null 2>&1 &
|
|
|
|
- ${GDB} ${TARGET}.axf -ex "tar ext 127.0.0.1:3333" -ex "monitor step 0x20400000" -ex "load ${TARGET}.axf"
|
|
|
|
- killall -9 openocd
|
|
|
|
-
|
|
|
|
-clean:
|
|
|
|
- -cd "${BUILD_DIR}" && rm *
|
|
|
|
- -rm stm32*
|
|
|
|
-
|
|
|
|
-.PHONY: all
|
|
|