|
|
@@ -1,4 +1,5 @@
|
|
|
DEBUG = FALSE
|
|
|
+
|
|
|
GCC = nspire-gcc
|
|
|
GCCFLAGS = -Wall -W -marm
|
|
|
ifeq ($(DEBUG),FALSE)
|
|
|
@@ -8,51 +9,37 @@ else
|
|
|
LDFLAGS += --debug
|
|
|
endif
|
|
|
|
|
|
-AS = nspire-as
|
|
|
-GXX = nspire-g++
|
|
|
-
|
|
|
LD = nspire-ld-bflt
|
|
|
LDFLAGS =
|
|
|
-CPPOBJS = $(patsubst %.cpp,%.o,$(wildcard src/*.cpp))
|
|
|
-OBJS = $(patsubst %.c,%.o,$(wildcard src/*.c)) $(patsubst %.S,%.o,$(wildcard src/*.S)) $(CPPOBJS) art/sprites.o
|
|
|
-ifneq ($(strip $(CPPOBJS)),)
|
|
|
- LDFLAGS += --cpp
|
|
|
-endif
|
|
|
|
|
|
-HEADERS = $(patsubst %.o,%.h,$(OBJS))
|
|
|
-SOURCES = $(wildcard src/*.c) $(wildcard src/*.S) $(wildcard src/*.cpp) art/sprites.c
|
|
|
+SOURCES = $(wildcard src/*.c) art/sprites.c
|
|
|
+HEADERS = $(patsubst %.c,%.h,$(SOURCES))
|
|
|
+OBJS = $(patsubst %.c,%.o,$(SOURCES))
|
|
|
|
|
|
EXE = pokespire.tns
|
|
|
DISTDIR = bin
|
|
|
-vpath %.tns $(DISTDIR)
|
|
|
|
|
|
all: $(EXE)
|
|
|
|
|
|
%.o: %.c headers
|
|
|
- $(GCC) $(GCCFLAGS) -c $< -o $@
|
|
|
-
|
|
|
-%.o: %.cpp headers
|
|
|
- $(GXX) $(GCCFLAGS) -c $< -o $@
|
|
|
-
|
|
|
-%.o: %.S headers
|
|
|
- $(AS) -c $< -o $@
|
|
|
+ @$(GCC) $(GCCFLAGS) -c $< -o $@
|
|
|
|
|
|
headers: sprites
|
|
|
makeheaders $(SOURCES)
|
|
|
|
|
|
sprites:
|
|
|
- $(MAKE) -C art/
|
|
|
+ @$(MAKE) -C art/
|
|
|
|
|
|
$(EXE): $(OBJS)
|
|
|
- mkdir -p $(DISTDIR)
|
|
|
+ @mkdir -p $(DISTDIR)
|
|
|
$(LD) $^ -o $(DISTDIR)/$@ $(LDFLAGS)
|
|
|
ifeq ($(DEBUG),FALSE)
|
|
|
@rm -f $(DISTDIR)/*.gdb
|
|
|
endif
|
|
|
|
|
|
clean:
|
|
|
- rm -f *.elf $(DISTDIR)/*.gdb $(DISTDIR)/$(EXE) $(OBJS) $(HEADERS)
|
|
|
- $(MAKE) -C art/ clean
|
|
|
+ rm -f $(DISTDIR)/*.gdb $(DISTDIR)/$(EXE) $(OBJS) $(HEADERS)
|
|
|
+ @$(MAKE) -C art/ clean
|
|
|
|
|
|
run: all
|
|
|
nspire-emu-send $(DISTDIR)/$(EXE)
|