HOST_GCC = gcc GCC = nspire-gcc LD = nspire-ld GCCFLAGS = -Os -nostdlib -Wall -W -Wno-attributes -marm -mcpu=arm926ej-s -s -fPIE -ffreestanding LDFLAGS = -nostdlib -ffreestanding --no-startup --no-ldscript -T ldscript OBJCOPY := "$(shell which arm-elf-objcopy 2>/dev/null)" ifeq (${OBJCOPY},"") OBJCOPY := arm-none-eabi-objcopy endif TNS = nlaunch.tns TNC = nlaunch.tnc TNO = nlaunch.tno BUILDTNCO = buildtnco BUILDIMG = buildimg DISTDIR = ../src vpath %.tns $(DISTDIR) all: $(TNS) $(BUILDTNCO) $(BUILDIMG) $(TNC) nlaunch.o: nlaunch.c patch.c patch_common.c patch_other.c ndless.c $(GCC) $(GCCFLAGS) -c $< $(TNS): nlaunch.o $(LD) $(LDFLAGS) $^ -o $(@:.tns=.elf) $(OBJCOPY) -O binary $(@:.tns=.elf) $@ $(BUILDTNCO): buildtnco.c $(HOST_GCC) -Os -s -o $@ $< $(BUILDIMG): buildimg.c $(HOST_GCC) -Os -s -o $@ $< $(TNC): $(TNS) $(BUILDTNCO) ./$(BUILDTNCO) clean: rm -f *.o *.elf rm -f $(TNS) rm -f $(DISTDIR)/$(TNC) rm -f $(DISTDIR)/$(TNO) rm -f $(BUILDTNCO) rm -f $(BUILDIMG)