GCC = nspire-gcc GXX=nspire-g++ LD = nspire-ld-bflt GCCFLAGS = -Os -Wall -W -marm LDFLAGS = CPPOBJS = $(patsubst %.cpp,%.o,$(wildcard *.cpp)) OBJS = $(patsubst %.c,%.o,$(wildcard *.c)) $(CPPOBJS) ifneq ($(strip $(CPPOBJS)),) LDFLAGS += --cpp endif OBJCOPY := "$(shell which arm-elf-objcopy 2>/dev/null)" ifeq (${OBJCOPY},"") OBJCOPY := arm-none-eabi-objcopy endif EXE = myspire.tns DISTDIR = . vpath %.tns $(DISTDIR) all: $(EXE) %.o: %.c $(GCC) $(GCCFLAGS) -c $< %.o: %.cpp $(GXX) $(GCCFLAGS) -c $< $(EXE): $(OBJS) mkdir -p $(DISTDIR) $(LD) $^ -o $(DISTDIR)/$@ $(LDFLAGS) clean: rm -f *.o *.elf