JuiceBox Code Test Makefile

PROJECT=test_1
 * 1) file: test_1.mak
 * 2)  the name of the project
 * 1)  the name of the project

OBJECTS = $(PROJECT).o crt0.o
 * 1)  List of the objects files in the project
 * 2)  Keep it current with all the source!

GCC = D:/cygwin/opt/rtems-4.6/bin/arm-rtems-gcc
 * 1)  Here's where the compiler options can be messed up

GCFLAGS = -Wall -nostartfiles -mcpu=arm7tdmi -msoft-float

OBJCOPY = D:/cygwin/opt/rtems-4.6/bin/arm-rtems-objcopy



all:: $(PROJECT).hex

$(PROJECT).hex: $(PROJECT).elf $(OBJCOPY) -R .stack -S -O ihex $(PROJECT).elf $(PROJECT).hex

$(PROJECT).elf: $(OBJECTS) $(GCC) $(GCFLAGS) -T $(PROJECT).dld $(OBJECTS) -Xlinker -Map -Xlinker $(PROJECT).map -o $(PROJECT).elf


 * 1)  Default rules to compile .c and .cpp file to .o
 * 2)  and assemble .s files to .o
 * 1)  and assemble .s files to .o

.c.o : $(GCC) $(GCFLAGS) -c $< $(GCC) -MM -o $*.d $<

.cpp.o : $(GCC) $(GCFLAGS) -c $< $(GCC) -MM -o $*.d $<

.s.o : $(GCC) -x assembler-with-cpp $(GCFLAGS) -Wa,-gstabs -c $<


 * 1)    Optional: copy all the .d files (autodependicies from source files) to the bottom of the makefile
 * 2)    This will ensure that header file mods will force a recompile, if needed
 * 3)    To update: delete everything after this line and "cat *.d >> rio_3.mak"
 * 1)    To update: delete everything after this line and "cat *.d >> rio_3.mak"