X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/aa4d9d9b73f7218d40bdb30efffea5e001498bda..fb6e5aa8630a2d181bcc82d7a3b2b3108d57937f:/armsrc/Makefile diff --git a/armsrc/Makefile b/armsrc/Makefile index 574e4f08..567c8d12 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -1,64 +1,56 @@ -CC = arm-elf-gcc -AS = arm-elf-as -LD = arm-elf-ld -OBJCOPY = arm-elf-objcopy +# Makefile for armsrc, see ../common/Makefile.common for common settings -OBJDIR = obj +APP_INCLUDES = apps.h -INCLUDE = -I../include +# Add the "-DWITH_LCD" flag in APP_CLFAGS to add support for LCD +# and add SRC_LCD to SRC_MAIN +APP_CFLAGS = -O6 -INCLUDES = ../include/proxmark3.h ../include/at91sam7s128.h ../include/config_gpio.h ../include/usb_cmd.h apps.h -LIB = "..\..\devkitARM\lib\gcc\arm-elf\4.1.0\interwork" +SRC_LCD = fonts.c LCD.c -# Add the "-DWITH_LCD" flag in CLFAGS to add support for LCD -# and add OBJLCD to OBJ too -CFLAGS = -O6 -c $(INCLUDE) -Wall +SRC_MAIN = start.c \ + appmain.c \ + fpga.c \ + lfops.c \ + iso15693.c \ + util.c \ + usb.c -OBJLCD = $(OBJDIR)/fonts.o \ - $(OBJDIR)/LCD.o +# These are to be compiled in ARM mode +SRC_MAIN_FAST = iso14443.c \ + iso14443a.c -OBJ = $(OBJDIR)/start.o \ - $(OBJDIR)/appmain.o \ - $(OBJDIR)/fpga.o \ - $(OBJDIR)/iso14443.o \ - $(OBJDIR)/iso14443a.o \ - $(OBJDIR)/iso15693.o \ - $(OBJDIR)/util.o +SRC_FPGA = fpgaimg.c -OBJFPGA = \ - $(OBJDIR)/fpgaimg.o +THUMBSRC = $(SRC_MAIN) $(SRC_FPGA) +ARMSRC = $(SRC_MAIN_FAST) -OBJCOMMON = \ - $(OBJDIR)/usb.o +MAIN_OBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(SRC_MAIN) $(SRC_MAIN_FAST)) -all: osimage.s19 +# Do not move this inclusion before the definition of {THUMB,ASM,ARM}{OBJ,SRC} +include ../common/Makefile.common -$(OBJDIR)/fpgaimage.s19: $(OBJDIR)/fpgaimg.o - @echo obj/fpgaimage.s19 - @$(LD) -g -Tldscript-fpga -o $(OBJDIR)\fpgaimage.elf $(OBJDIR)/fpgaimg.o - @$(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)\fpgaimage.elf $(OBJDIR)\fpgaimage.s19 +all: $(OBJDIR)/osimage.s19 $(OBJDIR)/fpgaimage.s19 -$(OBJDIR)/osimage.s19: $(OBJ) $(OBJCOMMON) - @echo obj/osimage.s19 - @$(LD) -g -Tldscript -o $(OBJDIR)\osimage.elf $(OBJ) $(OBJCOMMON) $(LIB)\libgcc.a - @$(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)\osimage.elf $(OBJDIR)\osimage.s19 +$(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fpgaimg.o + $(LD) -g -Tldscript-fpga -Map=$(patsubst %.elf,%.map,$@) -o $@ $^ -osimage.s19: $(OBJDIR)/osimage.s19 $(OBJDIR)/fpgaimage.s19 - @echo osimage.s19 - -$(OBJ): $(@B).c $(INCLUDES) - @echo $(@B).c - @$(CC) $(CFLAGS) -mthumb -mthumb-interwork $(@B).c -o $(OBJDIR)/$(@B).o - -$(OBJCOMMON): ../common/$(@B).c $(INCLUDES) - @echo $(@B).c - @$(CC) $(CFLAGS) -mthumb -mthumb-interwork ../common/$(@B).c -o $(OBJDIR)/$(@B).o - -$(OBJFPGA): $(@B).c $(INCLUDES) - @echo $(@B).c - @$(CC) $(CFLAGS) -mthumb -mthumb-interwork $(@B).c -o $(OBJDIR)/$(@B).o +$(OBJDIR)/osimage.elf: $(MAIN_OBJ) $(ARMLIB)/libgcc.a + $(LD) -g -Tldscript -Map=$(patsubst %.elf,%.map,$@) -o $@ $^ clean: - del /q obj\*.o - del /q obj\*.elf - del /q obj\*.s19 + $(DELETE) $(OBJDIR)$(PATHSEP)*.o + $(DELETE) $(OBJDIR)$(PATHSEP)*.elf + $(DELETE) $(OBJDIR)$(PATHSEP)*.s19 + $(DELETE) $(OBJDIR)$(PATHSEP)*.map + $(DELETE) $(OBJDIR)$(PATHSEP)*.d + +.PHONY: all clean help +help: + @echo Multi-OS Makefile, you are running on $(DETECTED_OS) + @echo Possible targets: + @echo + all - Make both: + @echo + $(OBJDIR)/osimage.s19 - The OS image + @echo + $(OBJDIR)/fpgaimage.s19 - The FPGA image + @echo + clean - Clean $(OBJDIR) +