mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-01-08 17:18:10 +08:00
bb06be43b7
use ARMLIB environment variable so you don't need to edit Makefile.linux after updates
96 lines
2.8 KiB
Text
96 lines
2.8 KiB
Text
# 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)/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 $^ $(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 $@
|
|
|
|
# Those do not work on the current firmware !
|
|
flash-fpga: fpgaimage.s19
|
|
../linux/flasher fpga fpgaimage.s19
|
|
|
|
flash: osimage.s19
|
|
../linux/flasher os osimage.s19
|
|
|
|
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
|
|
|
|
.PHONY: all clean
|