-# This makefile needs to be edited to reflect the location
-# of your own arm-elf-gcc toolchain (ARMLIB variable)
-
-CC = arm-elf-gcc
-AS = arm-elf-as
-LD = arm-elf-ld
-OBJCOPY = arm-elf-objcopy
-
-# Indicate where your gnuarm toolchain libgcc.a interworking library is located
-# or set $ARMLIB in your environment:
-#ARMLIB = /usr/local/lib/gcc/arm-elf/4.3.3/interwork
-
-
-# Add -DWITH_LCD to EXTRA_CFLAGS if you want support for LCD
-# in your firmware (add OBJLCD to OBJ too!)
-#EXTRA_CFLAGS = -DWITH_LCD
-EXTRA_CFLAGS =
-
-### You should not need to edit below this line
-
-INCLUDE = -I../include
-INCLUDES = ../include/proxmark3.h ../include/at91sam7s128.h ../include/config_gpio.h ../include/usb_cmd.h apps.h
-CFLAGS_COMMON = -O6 -c $(INCLUDE) -Wall -mthumb-interwork
-CFLAGS = $(CFLAGS_COMMON) $(EXTRA_CFLAGS) -mthumb
-
-
-OBJDIR = obj
-
-OBJLCD = $(OBJDIR)/LCD.o\
- $(OBJDIR)/fonts.o
-
-OBJ = $(OBJDIR)/start.o \
- $(OBJDIR)/appmain.o \
- $(OBJDIR)/fpga.o \
- $(OBJDIR)/lfops.o \
- $(OBJDIR)/iso15693.o \
- $(OBJDIR)/util.o
-
-# To be compiled in ARM mode, not thumb mode: larger but faster
-# Alleviates the 'blew circular buffer' issues somehow...
-OBJFAST = $(OBJDIR)/iso14443.o \
- $(OBJDIR)/iso14443a.o
-
-OBJFPGA = $(OBJDIR)/fpgaimg.o
-
-OBJCOMMON = $(OBJDIR)/usb.o
-
-all: osimage.s19 fpgaimage.s19 fullimage.s19
-
-fpgaimage.s19: $(OBJFPGA)
- @echo fpgaimage.s19
- $(LD) -g -Tldscript-fpga -o $(OBJDIR)/fpgaimage.elf $^
- $(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)/fpgaimage.elf fpgaimage.s19
-
-osimage.s19: $(OBJ) $(OBJFAST) $(OBJCOMMON)
- @echo osimage.s19
- $(LD) -g -Tldscript -o $(OBJDIR)/osimage.elf -Map=osimage.map $^ $(ARMLIB)/libgcc.a
- $(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)/osimage.elf osimage.s19
-
-fullimage.s19: $(OBJ) $(OBJFAST) $(OBJCOMMON) $(OBJFAST) $(OBJFPGA)
- @echo fullimage.s19
- $(LD) -g -Tldscript-full -o $(OBJDIR)/fullimage.elf $^ $(ARMLIB)/libgcc.a
- $(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)/fullimage.elf fullimage.s19
-
-# Directives to put the *.o in the OBJDIR directory:
-$(OBJ): $(OBJDIR)/%.o : %.c
- $(CC) $(CFLAGS) $< -o $@
-
-$(OBJFPGA): $(OBJDIR)/%.o : %.c
- $(CC) $(CFLAGS) $< -o $@
-
-$(OBJFAST): $(OBJDIR)/%.o : %.c
- $(CC) $(CFLAGS_COMMON) $< -o $@
-
-$(OBJCOMMON): $(OBJDIR)/%.o : ../common/%.c
- $(CC) $(CFLAGS) $< -o $@
-
-flash-both: flash flash-fpga
-
-flash-fpga: fpgaimage.s19
- ../linux/flasher fpga fpgaimage.s19
-
-flash: osimage.s19
- ../linux/flasher os osimage.s19
-
-# Those do not work on the current firmware !
-jtag-flash-full: fullimage.s19
- ../../OpenOCD/openocd -c "halt; flash write_image fullimage.s19 0x00100000; halt; reset; resume; poll; exit"
-
-jtag-flash-fpga: fpgaimage.s19
- ../../OpenOCD/openocd -c "halt; flash write_image fpgaimage.s19 0x00100000; halt; reset; resume; poll; exit"
-
-jtag-flash: osimage.s19
- ../../OpenOCD/openocd -c "halt; flash write_image osimage.s19 0x00100000; halt; reset; resume; poll; exit"
-
-clean:
- rm -f $(OBJDIR)/*.o $(OBJDIR)/*.elf *.s19 osimage.map
-
-.PHONY: all clean