瀏覽代碼

Split platform-specific Makefile stuff

Streetwalrus Einstein 10 年之前
父節點
當前提交
d23f80c50e
共有 5 個文件被更改,包括 30 次插入16 次删除
  1. 1 0
      .gitignore
  2. 5 7
      Makefile
  3. 6 0
      mkconfig
  4. 18 0
      platform/nspire/rules.mk
  5. 0 9
      rules.mk

+ 1 - 0
.gitignore

@@ -1,4 +1,5 @@
 out/
+config.mk
 
 .ycm_extra_conf.pyc
 

+ 5 - 7
Makefile

@@ -2,7 +2,7 @@ NAME = WalrusRPG
 
 DEBUG = FALSE
 
-CFLAGS_COMMON = -Wall -W -marm $(addprefix -I,$(INCLUDE)) -MMD -MP
+CFLAGS_COMMON = -Wall -W $(addprefix -I,$(INCLUDE)) -MMD -MP
 
 ifeq ($(DEBUG),FALSE)
 	CFLAGS_COMMON += -Ofast -flto
@@ -10,17 +10,12 @@ else
 	CFLAGS_COMMON += -O0 -g
 endif
 
-CC = nspire-gcc
 CFLAGS = $(CFLAGS_COMMON) -std=gnu11
 
-CPP = nspire-g++
 CPPFLAGS = $(CFLAGS_COMMON) -std=gnu++11
 
 LDFLAGS = $(CFLAGS_COMMON) -Wl,--gc-sections
 
-ZEHN = genzehn
-ZEHNFLAGS = --name "$(NAME)" --compress
-
 SRCS_C :=
 SRCS_CPP :=
 OBJS = $(BUILT_SRCS_C:%.c=%.o) $(BUILD_SRCS_CPP:%.cpp=%.o)
@@ -32,7 +27,6 @@ BUILT_SRCS_CPP :=
 
 OUT = out
 ELF = $(OUT)/$(NAME).elf
-EXE = $(OUT)/$(NAME).tns
 
 CLEAN_SPEC :=
 
@@ -48,4 +42,8 @@ $(strip \
  )
 endef
 
+include config.mk
 include rules.mk
+
+config.mk:
+	./mkconfig

+ 6 - 0
mkconfig

@@ -0,0 +1,6 @@
+#!/bin/bash
+
+rm -f config.mk
+
+echo "include platform/nspire/rules.mk" >> config.mk
+

+ 18 - 0
platform/nspire/rules.mk

@@ -0,0 +1,18 @@
+CFLAGS_COMMON += -marm
+
+CC = nspire-gcc
+CPP = nspire-g++
+
+ZEHN = genzehn
+ZEHNFLAGS = --name "$(NAME)" --compress
+
+EXE = $(OUT)/$(NAME).tns
+
+$(EXE): $(ELF)
+	@mkdir -p $(dir $@)
+	@echo "ZEHN: $@"
+	@$(ZEHN) --input $(ELF) --output $(EXE) $(ZEHNFLAGS)
+
+run: all
+	@echo "TILP: $(EXE)"
+	@tilp -ns $(EXE) > /dev/null

+ 0 - 9
rules.mk

@@ -30,11 +30,6 @@ $(ELF): $(OBJS)
 	@echo "CCLD: $@"
 	@+$(CC) $(LDFLAGS) $^ -o $(ELF)
 
-$(EXE): $(ELF)
-	@mkdir -p $(dir $@)
-	@echo "ZEHN: $@"
-	@$(ZEHN) --input $(ELF) --output $(EXE) $(ZEHNFLAGS)
-
 clean:
 	@echo "RM: $(OUT)"
 	@rm -rf $(OUT)
@@ -46,8 +41,4 @@ format:
 include:
 	@echo -n $(addprefix -I ,$(INCLUDE))
 
-run: all
-	@echo "TILP: $(EXE)"
-	@tilp -ns $(EXE) > /dev/null
-
 .FORCE: