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

Reply via email to