GCC = nspire-gcc AS = nspire-as LD = nspire-ld GCCFLAGS = -Os -Wall -W -marm GASFLAGS = -marm -W -Wall LDFLAGS = OBJCOPY := "$(shell which arm-elf-objcopy 2>/dev/null)" ifeq (${OBJCOPY},"") OBJCOPY := arm-none-eabi-objcopy endif EXE = pwmtest.tns OBJS = $(patsubst %.c,%.o,$(wildcard *.c)) ASOBJS = $(patsubst %.S,%.os,$(wildcard *.S)) DISTDIR = . vpath %.tns $(DISTDIR) all: $(EXE) %.o: %.c $(GCC) $(GCCFLAGS) -c $< %.os: %.S $(AS) $(GASFLAGS) -c $< -o $@ $(EXE): $(OBJS) $(ASOBJS) $(LD) $^ -o $(@:.tns=.elf) $(LDFLAGS) mkdir -p $(DISTDIR) $(OBJCOPY) -O binary $(@:.tns=.elf) $(DISTDIR)/$@ clean: rm -f *.o *.elf *.os rm -rf *.c~ *.S~ *.h~ rm -f $(DISTDIR)/$(EXE)