Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
Index: Makefile
===================================================================
--- Makefile	(nonexistent)
+++ Makefile	(revision 413)
@@ -0,0 +1,70 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_BLUE_PILL)
+
+include ../../../build-system/constants.mk
+
+# ======= __END_OF_REQUIRES__ =======
+
+sources  = src
+
+SRC_DIR  = $(TARGET_BUILD_DIR)/src
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+run_gdb_script = $(TARGET_BUILD_DIR)/_run-gdb.sh
+
+led_target     = $(TARGET_BUILD_DIR)/led.bin
+
+info_target = $(TARGET_BUILD_DIR)/.info-done
+
+USE_TARGET_DEST_DIR_SYSROOT = no
+
+ifeq ($(HARDWARE),$(HARDWARE_BLUE_PILL))
+OPTIMIZATION_FLAGS  = -O0
+ARCH_FLAGS := -mthumb -mcpu=cortex-m3
+endif
+
+BUILD_TARGETS = $(led_target) $(info_target)
+
+
+include ../../../build-system/core.mk
+
+
+ifeq ($(HARDWARE),$(HARDWARE_BLUE_PILL))
+CFLAGS  += -Wall -fno-common -ffunction-sections -fdata-sections
+LDFLAGS += -Wall $(ARCH_FLAGS) -Wl,--gc-sections -nostdlib -nostartfiles
+endif
+
+$(src_done): $(sources)
+	@cp -a $^ $(TARGET_BUILD_DIR)/
+	@touch $@
+
+$(led_target): $(src_done)
+	@( cd $(SRC_DIR)/ ; $(BUILD_ENVIRONMENT) $(MAKE) )
+	@cp -a $(SRC_DIR)/main.bin $@
+	# ======= Also copy main.elf for debuging: =======
+	@cp -a $(SRC_DIR)/main.elf $(TARGET_BUILD_DIR)/led.elf
+	# ======= Fill the Run GDB script: =======
+	@echo '#!/bin/sh'                                       >  $(run_gdb_script)
+	@echo ''                                                >> $(run_gdb_script)
+	@echo 'TOOLCHAIN_PATH=$(TOOLCHAIN_PATH)'                >> $(run_gdb_script)
+	@echo 'TARGET=$(TARGET)'                                >> $(run_gdb_script)
+	@echo 'CROSS_PREFIX=$${TOOLCHAIN_PATH}/bin/$${TARGET}-' >> $(run_gdb_script)
+	@echo ''                                                >> $(run_gdb_script)
+	@echo '$${CROSS_PREFIX}gdb'                             >> $(run_gdb_script)
+	@chmod a+x $(run_gdb_script)
+	@touch $@
+
+$(info_target): $(led_target)
+	@echo "==================================="
+	@echo "======= Build Info:         ======="
+	@echo "==================================="
+	@echo "======= CC = '$(CC)'"
+	@echo "======= CFLAGS = '$(CFLAGS)'"
+	@echo "======= LDFLAGS = '$(LDFLAGS)'"
+	@echo "======= ARCH_FLAGS = '$(ARCH_FLAGS)'"
+	@echo ""
+	@echo "#"
+	@echo "# Please find images: `basename $(led_target)` in the $(TARGET_BUILD_DIR)/ directory."
+	@echo "#"
+	@echo ""
+	@touch $@