Makefile 744 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. DEBUG = FALSE
  2. GCC = nspire-gcc
  3. GCCFLAGS = -Wall -W -marm
  4. ifeq ($(DEBUG),FALSE)
  5. GCCFLAGS += -Ofast
  6. else
  7. GCCFLAGS += -O0 -g
  8. LDFLAGS += --debug
  9. endif
  10. LD = nspire-ld-bflt
  11. LDFLAGS =
  12. SOURCES = $(wildcard src/*.c) art/sprites.c
  13. HEADERS = $(patsubst %.c,%.h,$(SOURCES))
  14. OBJS = $(patsubst %.c,%.o,$(SOURCES))
  15. EXE = pokespire.tns
  16. DISTDIR = bin
  17. all: $(EXE)
  18. %.o: %.c headers
  19. @$(GCC) $(GCCFLAGS) -c $< -o $@
  20. headers: sprites
  21. makeheaders $(SOURCES)
  22. sprites:
  23. @$(MAKE) -C art/
  24. $(EXE): $(OBJS)
  25. @mkdir -p $(DISTDIR)
  26. $(LD) $^ -o $(DISTDIR)/$@ $(LDFLAGS)
  27. ifeq ($(DEBUG),FALSE)
  28. @rm -f $(DISTDIR)/*.gdb
  29. endif
  30. clean:
  31. rm -f $(DISTDIR)/*.gdb $(DISTDIR)/$(EXE) $(OBJS) $(HEADERS)
  32. @$(MAKE) -C art/ clean
  33. run: all
  34. nspire-emu-send $(DISTDIR)/$(EXE)