From 573e8d72c73f12754d5775cca24d7d9380cc2c78 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 13 Feb 2017 15:32:48 +0100 Subject: [PATCH 1/1] FIX: 'EMV compiling' - Makefiles are very picky about how things are done. its parser is a bit paranoid. So, to make things easier and more correct. - armsrc/Makefile when commenting out functionality, move it below the comment otherwise APPS_CFLAG breaks to early. See WITH_LCD - common/Makefile.common enable / disable EMV, uncomment two lines. then make clean && make all. flash, MIGHT NOT work on 256kb devices FIX: missing break in appmain.c made it go to iclass function.. --- armsrc/Makefile | 32 ++++++++++++++------------------ armsrc/appmain.c | 1 + client/Makefile | 2 +- common/Makefile.common | 3 +++ 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/armsrc/Makefile b/armsrc/Makefile index c5a698bd..6a915013 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -9,37 +9,33 @@ APP_INCLUDES = apps.h #remove one of the following defines and comment out the relevant line -#in the next section to remove that particular feature from compilation -APP_CFLAGS = -DWITH_ISO14443a_StandAlone \ +#in the next section to remove that particular feature from compilation. +# NO space,TABs after the "\" sign. +APP_CFLAGS = -DWITH_CRC \ + -DON_DEVICE \ -DWITH_LF \ - -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS \ - -DWITH_LEGICRF -DWITH_HITAG -DWITH_CRC -DON_DEVICE -DWITH_HFSNOOP \ -# -DWITH_LCD \ + -DWITH_HITAG \ + -DWITH_ISO15693 \ + -DWITH_LEGICRF \ + -DWITH_ISO14443b \ + -DWITH_ISO14443a \ + -DWITH_ICLASS \ + -DWITH_HFSNOOP \ + -DWITH_ISO14443a_StandAlone \ -fno-strict-aliasing -ffunction-sections -fdata-sections +### IMPORTANT - move the commented variable below this line +# -DWITH_LCD \ -#ifdef WITH_LCD SRC_LCD = fonts.c LCD.c -#endif - -#ifdef WITH_LF SRC_LF = lfops.c hitag2.c hitagS.c lfsampling.c pcf7931.c lfdemod.c -#endif - SRC_ISO15693 = iso15693.c iso15693tools.c SRC_ISO14443a = iso14443a.c mifareutil.c mifarecmd.c mifaresniff.c epa.c SRC_ISO14443b = iso14443b.c SRC_CRAPTO1 = crapto1.c crypto1.c des.c aes.c desfire_key.c desfire_crypto.c mifaredesfire.c SRC_CRC = iso14443crc.c crc.c crc16.c crc32.c - -#ifdef WITH_EMV SRC_EMV = tlv.c emvdataels.c emvutil.c emvcmd.c -#endif -#ifdef WITH_ICLASS SRC_ICLASS = iclass.c optimized_cipher.c -#endif -#ifdef WITH_LEGIC SRC_LEGIC = legicrf.c legic_prng.c -#endif #the FPGA bitstream files. Note: order matters! FPGA_BITSTREAMS = fpga_lf.bit fpga_hf.bit diff --git a/armsrc/appmain.c b/armsrc/appmain.c index add65c24..3ba9dd68 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -1228,6 +1228,7 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_EMV_DUMP_CARD: EMVdumpcard(); + break; #endif #ifdef WITH_ICLASS // Makes use of ISO14443a FPGA Firmware diff --git a/client/Makefile b/client/Makefile index 72552fd1..26ecb962 100644 --- a/client/Makefile +++ b/client/Makefile @@ -7,7 +7,7 @@ include ../common/Makefile.common CC = gcc CXX = g++ -COMMON_FLAGS = -std=c99 -O3 -mpopcnt -march=native -g +COMMON_FLAGS += -std=c99 -O3 -mpopcnt -march=native -g #VPATH = ../common ../zlib OBJDIR = obj diff --git a/common/Makefile.common b/common/Makefile.common index 964129b9..3da34603 100644 --- a/common/Makefile.common +++ b/common/Makefile.common @@ -61,8 +61,11 @@ endif #uncomment to enable EMV #APP_CFLAGS += -DWITH_EMV +#COMMON_FLAGS += -DWITH_EMV #uncomment to fix 256 vs 512kb Devices APP_CFLAGS += -DHAS_512_FLASH +COMMON_FLAGS += -DHAS_512_FLASH + # Also search prerequisites in the common directory (for usb.c), the fpga directory (for fpga.bit), and the zlib directory VPATH = . ../common ../fpga ../zlib -- 2.39.5