瀏覽代碼

Update Makefile

Streetwalrus Einstein 10 年之前
父節點
當前提交
17b2940d02
共有 1 個文件被更改,包括 25 次插入17 次删除
  1. 25 17
      Makefile

+ 25 - 17
Makefile

@@ -2,18 +2,19 @@ NAME = Pokespire
 
 DEBUG = FALSE
 
-GCC = nspire-gcc
-GCCFLAGS = -Wall -W -marm
+CC = nspire-gcc
+CFLAGS = -Wall -W -marm -flto
+
+LD = nspire-ld
+LDFLAGS = -flto
+
 ifeq ($(DEBUG),FALSE)
-	GCCFLAGS += -Ofast -flto
+	CFLAGS += -Ofast
 else
-	GCCFLAGS += -O0 -g
+	CFLAGS += -O0 -g
 	LDFLAGS += --debug
 endif
 
-LD = nspire-ld
-LDFLAGS =
-
 ZEHN = genzehn
 ZEHNFLAGS = --name "$(NAME)"
 
@@ -22,11 +23,14 @@ HEADERS = $(patsubst %.c,%.h,$(SOURCES))
 OBJS = $(patsubst %.c,%.o,$(SOURCES))
 
 DISTDIR = bin
+ELF = $(DISTDIR)/$(NAME).elf
+EXE = $(DISTDIR)/$(NAME).tns
 
-all: exe
+all: $(EXE)
 
 %.o: %.c headers
-	@$(GCC) $(GCCFLAGS) -c $< -o $@
+	@echo "CC: $@"
+	@$(CC) $(CFLAGS) -c $< -o $@
 
 headers: sprites
 	makeheaders $(SOURCES)
@@ -34,18 +38,22 @@ headers: sprites
 sprites:
 	@$(MAKE) -C art/
 
-exe: $(OBJS)
+$(ELF): $(OBJS)
 	@mkdir -p $(DISTDIR)
-	$(LD) $^ -o $(DISTDIR)/$(NAME).elf $(LDFLAGS)
-	$(ZEHN) --input $(DISTDIR)/$(NAME).elf --output $(DISTDIR)/$(NAME).tns $(ZEHNFLAGS)
-ifeq ($(DEBUG),FALSE)
-	@rm -f $(DISTDIR)/*.gdb
-endif
+	@echo "LD: $@"
+	@$(LD) $^ -o $(ELF) $(LDFLAGS)
+
+$(EXE): $(ELF)
+	@mkdir -p $(DISTDIR)
+	@echo "ZEHN: $@"
+	@$(ZEHN) --input $(ELF) --output $(EXE) $(ZEHNFLAGS)
 
 clean:
-	rm -rf $(DISTDIR) $(OBJS) $(HEADERS)
+	rm -rf $(DISTDIR)
+	rm -f $(OBJS)
+	rm -f $(HEADERS)
 	@$(MAKE) -C art/ clean
 
 run: all
-	tilp -ns $(DISTDIR)/$(NAME).tns > /dev/null
+	tilp -ns $(EXE) > /dev/null