GCC = nspire-gcc LD = nspire-ld GCCFLAGS = -Os -Wall -W -marm LDFLAGS = OBJCOPY := "$(shell (which arm-elf-objcopy arm-none-eabi-objcopy arm-linux-gnueabi-objcopy | head -1) 2>/dev/null)" ifeq (${OBJCOPY},"") OBJCOPY := arm-none-eabi-objcopy endif EXE = mviewer.tns OBJS = mviewer.o screen.o console.o image.o dirlist.o browse.o tools.o touchpad.o DISTDIR = . vpath %.tns $(DISTDIR) all: $(EXE) %.o: %.c $(GCC) $(GCCFLAGS) -c $< %.o: %.S $(GCC) $(GCCFLAGS) -c $< $(EXE): $(OBJS) $(LD) $(LDFLAGS) $^ -o $(@:.tns=.elf) @mkdir -p $(DISTDIR) $(OBJCOPY) -O binary $(@:.tns=.elf) $(DISTDIR)/$@ clean: rm -f *.o *.elf rm -f $(DISTDIR)/$(EXE)