Signed-off-by: Xiangfu Liu <[email protected]> --- Makefile | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ software/include.mak | 34 ++++++++++++++++++++++++----- 2 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 Makefile
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8b36563 --- /dev/null +++ b/Makefile @@ -0,0 +1,58 @@ +# +# Authors: Xiangfu Liu <[email protected]> +# bitcoin: 1CGeqFzCZnAPEEcigr8LzmWTqf8cvo8toW +# +# License GPLv3 or later. NO WARRANTY. +# + +BASEDIR=${CURDIR} + +SYNTOOL?=xst +BOARD?=milkymist-one + +PORT?=/dev/ttyUSB0 +LOADADDR?=0x40000000 +IMAGE?=${BASEDIR}/software/demo/boot.bin + +SDK_DIRS=libbase libmath libhal libfpvm libnet +SW_DIRS=${SDK_DIRS} libhpdmc libfpvm/x86-linux libfpvm/lm32-linux libfpvm/lm32-rtems bios demo + +CORE_DIRS=ac97 bt656cap conbus dmx fmlbrg fmlmeter hpdmc_ddr32 \ + memcard pfpu rc5 softusb sysctl tmu2 uart vgafb + +host: + make -C ${BASEDIR}/tools + +bios: host + make -C ${BASEDIR}/software/bios + +bitstream: host + make -C ${BASEDIR}/boards/${BOARD}/synthesis -f Makefile.${SYNTOOL} + +demo: host + make -C ${BASEDIR}/software/demo + +sdk: host + for d in $(SDK_DIRS); do make -C ${BASEDIR}/software/$$d || exit 1; done + +load-bitstream: bitstream + make -C ${BASEDIR}/boards/${BOARD}/synthesis -f Makefile.${SYNTOOL} load + +load-demo: demo + ${BASEDIR}/tools/flterm --port ${PORT} --kernel ${BASEDIR}/${IMAGE} --kernel-adr ${LOADADDR} + +docs: + make -C ${BASEDIR}/doc + for d in $(CORE_DIRS); do make -C ${BASEDIR}/cores/$$d/doc || exit 1; done + +.PHONY: clean load-demo load-bitstream +clean: + make -C ${BASEDIR}/boards/milkymist-one/synthesis -f common.mak clean + make -C ${BASEDIR}/boards/milkymist-one/standby clean + make -C ${BASEDIR}/boards/milkymist-one/flash clean + make -C ${BASEDIR}/doc clean + make -C ${BASEDIR}/tools clean + make -C ${BASEDIR}/softusb-input clean + for d in $(CORE_DIRS); do make -C ${BASEDIR}/cores/$$d/doc clean || exit 1; done + for d in $(SW_DIRS); do make -C ${BASEDIR}/software/$$d clean || exit 1; done + (cd ${BASEDIR}/cores/pfpu ./cleanroms.sh) diff --git a/software/include.mak b/software/include.mak index 975c786..9786b75 100644 --- a/software/include.mak +++ b/software/include.mak @@ -1,12 +1,34 @@ # Mico32 toolchain # -AS=lm32-rtems4.11-as -CC=lm32-rtems4.11-gcc -LD=lm32-rtems4.11-ld -OBJCOPY=lm32-rtems4.11-objcopy -AR=lm32-rtems4.11-ar -RANLIB=lm32-rtems4.11-ranlib +CROSS_COMPILER=lm32-rtems4.11- +CC_normal := $(CROSS_COMPILER)gcc +AR_normal := $(CROSS_COMPILER)ar +AS_normal := $(CROSS_COMPILER)as +LD_normal := $(CROSS_COMPILER)ld +OBJCOPY_normal := $(CROSS_COMPILER)objcopy +RANLIB_normal := $(CROSS_COMPILER)ranlib +CC_quiet = @echo " CC " $@ && $(CROSS_COMPILER)gcc +AR_quiet = @echo " AR " $@ && $(CROSS_COMPILER)ar +AS_quiet = @echo " AS " $@ && $(CROSS_COMPILER)as +LD_quiet = @echo " LD " $@ && $(CROSS_COMPILER)ld +OBJCOPY_quiet = @echo " OBJCOPY " $@ && $(CROSS_COMPILER)objcopy +RANLIB_quiet = @echo " RANLIB " $@ && $(CROSS_COMPILER)ranlib +ifeq ($(V),1) + CC = $(CC_normal) + AR = $(AR_normal) + AS = $(AS_normal) + LD = $(LD_normal) + OBJCOPY = $(OBJCOPY_normal) + RANLIB = $(RANLIB_normal) +else + CC = $(CC_quiet) + AR = $(AR_quiet) + AS = $(AS_quiet) + LD = $(LD_quiet) + OBJCOPY = $(OBJCOPY_quiet) + RANLIB = $(RANLIB_quiet) +endif # Toolchain options # -- 1.7.4.1 _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkymist@Freenode
