From 5fbaabc9b278961cd2f3448420204173fab34dc6 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Mon, 6 May 2019 19:49:15 +0200 Subject: [PATCH 1/2] update doc, remove obsolete info --- .../Linux-Installation-Instructions.md | 14 +++++++++----- .../Windows-Installation-Instructions.md | 6 ------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md index 27d315359..5eb8bc66b 100644 --- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md @@ -1,6 +1,6 @@ # External resources -You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may vary. +You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may have evolved. * [Kali Video Installation guide](https://youtu.be/t5eBPS6lV3E "Kali Linux Installation Tutorial") * [Ubuntu Video Installation guide](https://youtu.be/DThmkH8CdMo "Ubuntu Installation Tutorial") @@ -9,11 +9,8 @@ You might want to follow one of these external resources to get an overview, but ![Linux Installation Video Screenshot](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS/blob/master/screenshot-www.youtube.com-2019.03.17-20-44-33.png) * ParrotOS: some further notes can be found at @5w0rdfish repo [Proxmark Installation for Parrot OS](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS) -* Ubuntu 14.04.2 LTS, 15.10 or 16.04 GC updates on the [Proxmark3 Ubuntu wiki page](https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux) -* A nice and cool install script made by @daveio is found here: https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh (unavailable?) * Iceman has also added this script to the fork. https://github.com/RfidResearchGroup/proxmark3/blob/master/install.sh - # Install the required dependencies ## On Debian / Ubuntu / Kali / ParrotOS @@ -31,15 +28,22 @@ sudo apt-get install p7zip git ca-certificates build-essential libreadline5 libr libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib ``` +If you don't need the graphical components of the Proxmark3 client, you can skip the installation of `libqt4-dev`. + +If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`. + ## On ArchLinux ```sh -sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-newlib --needed +sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-gcc arm-none-eabi-newlib git --needed ``` +Additional AUR packages: ```sh yaourt -S termcap ``` +Note that with only these requirements, you will not get the graphical components of the Proxmark3 client. (Untested: how to get it? `yaourt -S qt4` ?) + # Clone the RRG/Iceman repository ```sh diff --git a/doc/md/Installation_Instructions/Windows-Installation-Instructions.md b/doc/md/Installation_Instructions/Windows-Installation-Instructions.md index b140bc168..ac88906da 100644 --- a/doc/md/Installation_Instructions/Windows-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Windows-Installation-Instructions.md @@ -2,12 +2,6 @@ You will need to use the Gator96100 Proxspace package to assist in your windows installation. This can be downloaded from https://github.com/Gator96100/ProxSpace/ -## Notes -If you receive gcc errors using v3.1 during build, download and use v2.2. This may help resolve the issue. - -- https://github.com/Gator96100/ProxSpace/releases/tag/v3.1 (release v3.1 with gcc v7.3.0 ) -- https://github.com/Gator96100/ProxSpace/releases/tag/v2.2 (release v2.2 with gcc v5.3.0 arm-none-eabi-gcc v7.1.0) - --- # Video Installation guide [![Windows Installation tutorial](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS/blob/master/screenshot-www.youtube.com-2019.03.17-20-44-33.png)](https://youtu.be/zzF0NCMJnYU "Windows Installation Tutorial") From c6b8c0c4727818dac3c5fcec9afce6ca2a0704be Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Mon, 6 May 2019 20:45:59 +0200 Subject: [PATCH 2/2] manual Makefile style (as some tabs need to be preserved) --- Makefile | 50 +++---- armsrc/Makefile | 124 ++++++++--------- client/Makefile | 296 ++++++++++++++++++++--------------------- common/Makefile.common | 8 +- common/Makefile.hal | 60 ++++----- 5 files changed, 269 insertions(+), 269 deletions(-) diff --git a/Makefile b/Makefile index 5efaae390..0a91f50a8 100644 --- a/Makefile +++ b/Makefile @@ -3,36 +3,36 @@ GZIP=gzip # amount of shell command line parsing going on. echo "" on # Windows yields literal "", on Linux yields an empty line ifeq ($(shell echo ""),) - # This is probably a proper system, so we can use uname - DELETE=rm -rf - FLASH_TOOL=client/flasher - platform=$(shell uname) - ifneq (,$(findstring MINGW,$(platform))) + # This is probably a proper system, so we can use uname + DELETE=rm -rf + FLASH_TOOL=client/flasher + platform=$(shell uname) + ifneq (,$(findstring MINGW,$(platform))) + FLASH_PORT=com3 + PATHSEP=\\# + else + FLASH_PORT=/dev/ttyACM0 + PATHSEP=/ + endif +else + # Assume that we are running on native Windows + DELETE=del /q + FLASH_TOOL=client/flasher.exe + platform=Windows FLASH_PORT=com3 PATHSEP=\\# - else - FLASH_PORT=/dev/ttyACM0 - PATHSEP=/ - endif -else - # Assume that we are running on native Windows - DELETE=del /q - FLASH_TOOL=client/flasher.exe - platform=Windows - FLASH_PORT=com3 - PATHSEP=\\# endif ifeq ($(PLATFORM),) - -include Makefile.platform - ifeq ($(PLATFORM),) - PLATFORM=PM3RDV4 - else - ${info using saved PLATFORM: '$(PLATFORM)'} - endif - ifneq ($(PLATFORM_EXTRAS),) - ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'} - endif + -include Makefile.platform + ifeq ($(PLATFORM),) + PLATFORM=PM3RDV4 + else + ${info using saved PLATFORM: '$(PLATFORM)'} + endif + ifneq ($(PLATFORM_EXTRAS),) + ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'} + endif endif include common/Makefile.hal diff --git a/armsrc/Makefile b/armsrc/Makefile index 01193a4f8..dc661edc6 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -10,31 +10,31 @@ APP_INCLUDES = apps.h # This Makefile might have been called directly, not via the root Makefile, so: ifeq ($(PLTNAME),) - -include ../Makefile.platform - ifeq ($(PLATFORM),) - PLATFORM=PM3RDV4 - else - ${info using saved PLATFORM: '$(PLATFORM)'} - endif - ifneq ($(PLATFORM_EXTRAS),) - ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'} - endif - include ../common/Makefile.hal - $(info ===================================================================) - $(info Platform name: $(PLTNAME)) - $(info PLATFORM: $(PLATFORM)) - $(info PLATFORM_EXTRAS: $(PLATFORM_EXTRAS)) - $(info Included options: $(PLATFORM_DEFS_INFO)) - $(info Standalone mode: $(PLATFORM_DEFS_INFO_STANDALONE)) - $(info ===================================================================) + -include ../Makefile.platform + ifeq ($(PLATFORM),) + PLATFORM=PM3RDV4 + else + ${info using saved PLATFORM: '$(PLATFORM)'} + endif + ifneq ($(PLATFORM_EXTRAS),) + ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'} + endif + include ../common/Makefile.hal + $(info ===================================================================) + $(info Platform name: $(PLTNAME)) + $(info PLATFORM: $(PLATFORM)) + $(info PLATFORM_EXTRAS: $(PLATFORM_EXTRAS)) + $(info Included options: $(PLATFORM_DEFS_INFO)) + $(info Standalone mode: $(PLATFORM_DEFS_INFO_STANDALONE)) + $(info ===================================================================) endif #remove one of the following defines and comment out the relevant line #in the next section to remove that particular feature from compilation. # NO space,TABs after the "\" sign. APP_CFLAGS = $(PLATFORM_DEFS) \ - -DON_DEVICE \ - -fno-strict-aliasing -ffunction-sections -fdata-sections + -DON_DEVICE \ + -fno-strict-aliasing -ffunction-sections -fdata-sections SRC_LF = lfops.c lfsampling.c pcf7931.c lfdemod.c SRC_ISO15693 = iso15693.c iso15693tools.c @@ -49,21 +49,21 @@ SRC_LEGIC = legicrf.c legicrfsim.c legic_prng.c # RDV40 related hardware support ifneq (,$(findstring WITH_FLASH,$(APP_CFLAGS))) - SRC_FLASH = flashmem.c + SRC_FLASH = flashmem.c else - SRC_FLASH = + SRC_FLASH = endif ifneq (,$(findstring WITH_SMARTCARD,$(APP_CFLAGS))) - SRC_SMARTCARD = i2c.c + SRC_SMARTCARD = i2c.c else - SRC_SMARTCARD = + SRC_SMARTCARD = endif ifneq (,$(findstring WITH_FPC_USART,$(APP_CFLAGS))) - SRC_FPC = usart.c + SRC_FPC = usart.c else - SRC_FPC = + SRC_FPC = endif ifneq (,$(findstring WITH_HITAG,$(APP_CFLAGS))) @@ -84,35 +84,35 @@ endif SRC_STANDALONE = placeholder.c # WITH_STANDALONE_LF_ICERUN ifneq (,$(findstring WITH_STANDALONE_LF_ICERUN,$(APP_CFLAGS))) - SRC_STANDALONE = lf_icerun.c + SRC_STANDALONE = lf_icerun.c endif # WITH_STANDALONE_LF_SAMYRUN ifneq (,$(findstring WITH_STANDALONE_LF_SAMYRUN,$(APP_CFLAGS))) - SRC_STANDALONE = lf_samyrun.c + SRC_STANDALONE = lf_samyrun.c endif # WITH_STANDALONE_LF_PROXBRUTE ifneq (,$(findstring WITH_STANDALONE_LF_PROXBRUTE,$(APP_CFLAGS))) - SRC_STANDALONE = lf_proxbrute.c + SRC_STANDALONE = lf_proxbrute.c endif # WITH_STANDALONE_LF_HIDBRUTE ifneq (,$(findstring WITH_STANDALONE_LF_HIDBRUTE,$(APP_CFLAGS))) - SRC_STANDALONE = lf_hidbrute.c + SRC_STANDALONE = lf_hidbrute.c endif # WITH_STANDALONE_HF_YOUNG ifneq (,$(findstring WITH_STANDALONE_HF_YOUNG,$(APP_CFLAGS))) - SRC_STANDALONE = hf_young.c + SRC_STANDALONE = hf_young.c endif # WITH_STANDALONE_HF_MATTYRUN ifneq (,$(findstring WITH_STANDALONE_HF_MATTYRUN,$(APP_CFLAGS))) - SRC_STANDALONE = hf_mattyrun.c + SRC_STANDALONE = hf_mattyrun.c endif # WITH_STANDALONE_HF_COLIN ifneq (,$(findstring WITH_STANDALONE_HF_COLIN,$(APP_CFLAGS))) - SRC_STANDALONE = vtsend.c hf_colin.c + SRC_STANDALONE = vtsend.c hf_colin.c endif # WITH_STANDALONE_HF_BOG ifneq (,$(findstring WITH_STANDALONE_HF_BOG,$(APP_CFLAGS))) - SRC_STANDALONE = hf_bog.c + SRC_STANDALONE = hf_bog.c endif #the FPGA bitstream files. Note: order matters! @@ -132,42 +132,42 @@ APP_CFLAGS += -I. -fno-stack-protector -fno-pie # Compile these in thumb mode (small size) THUMBSRC = start.c \ - protocols.c \ - $(SRC_LCD) \ - $(SRC_ISO15693) \ - $(SRC_LF) \ - $(SRC_ZLIB) \ - $(SRC_LEGIC) \ - $(SRC_FLASH) \ - $(SRC_SMARTCARD) \ - $(SRC_FPC) \ + protocols.c \ + $(SRC_LCD) \ + $(SRC_ISO15693) \ + $(SRC_LF) \ + $(SRC_ZLIB) \ + $(SRC_LEGIC) \ + $(SRC_FLASH) \ + $(SRC_SMARTCARD) \ + $(SRC_FPC) \ $(SRC_HITAG) \ - appmain.c \ - printf.c \ - commonutil.c \ - util.c \ - string.c \ - BigBuf.c \ - ticks.c \ - hfsnoop.c + appmain.c \ + printf.c \ + commonutil.c \ + util.c \ + string.c \ + BigBuf.c \ + ticks.c \ + hfsnoop.c # These are to be compiled in ARM mode ARMSRC = fpgaloader.c \ - $(SRC_ISO14443a) \ - $(SRC_ISO14443b) \ - $(SRC_CRAPTO1) \ - $(SRC_ICLASS) \ - $(SRC_EMV) \ - $(SRC_CRC) \ - $(SRC_FELICA) \ - $(SRC_STANDALONE) \ - parity.c \ - usb_cdc.c \ - cmd.c + $(SRC_ISO14443a) \ + $(SRC_ISO14443b) \ + $(SRC_CRAPTO1) \ + $(SRC_ICLASS) \ + $(SRC_EMV) \ + $(SRC_CRC) \ + $(SRC_FELICA) \ + $(SRC_STANDALONE) \ + parity.c \ + usb_cdc.c \ + cmd.c VERSIONSRC = version.c \ - fpga_version_info.c + fpga_version_info.c # Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC include ../common/Makefile.common diff --git a/client/Makefile b/client/Makefile index c9069a276..318e2f1bd 100644 --- a/client/Makefile +++ b/client/Makefile @@ -68,10 +68,10 @@ LUAPLATFORM = generic ifneq (,$(findstring MINGW,$(platform))) LUAPLATFORM = mingw else - ifeq ($(platform),Darwin) + ifeq ($(platform),Darwin) LUAPLATFORM = macosx - OBJCSRCS = util_darwin.m - LDFLAGS += -framework Foundation -framework AppKit + OBJCSRCS = util_darwin.m + LDFLAGS += -framework Foundation -framework AppKit else LUALIB += -ldl LDLIBS += -ltermcap -lncurses @@ -86,26 +86,26 @@ MOC = $(shell pkg-config --variable=host_bins Qt5Core)/moc UIC = $(shell pkg-config --variable=host_bins Qt5Core)/uic ifeq ($(QTINCLUDES), ) # if Qt5 not found check for correctly configured Qt4 - QTINCLUDES = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) - QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null) - MOC = $(shell pkg-config --variable=moc_location QtCore) - UIC = $(shell pkg-config --variable=uic_location QtCore) + QTINCLUDES = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) + QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null) + MOC = $(shell pkg-config --variable=moc_location QtCore) + UIC = $(shell pkg-config --variable=uic_location QtCore) else - CXXFLAGS += -std=c++11 -fPIC + CXXFLAGS += -std=c++11 -fPIC endif ifeq ($(QTINCLUDES), ) # if both pkg-config commands failed, search in common places - ifneq ($(QTDIR), ) - QTINCLUDES = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui - QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4 - ifneq ($(wildcard $(QTDIR)/include/QtWidgets),) - QTINCLUDES += -I$(QTDIR)/include/QtWidgets - QTLDLIBS = -L$(QTDIR)/lib -lQt5Widgets -lQt5Gui -lQt5Core - CXXFLAGS += -std=c++11 -fPIC - endif - MOC = $(QTDIR)/bin/moc - UIC = $(QTDIR)/bin/uic - endif + ifneq ($(QTDIR), ) + QTINCLUDES = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui + QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4 + ifneq ($(wildcard $(QTDIR)/include/QtWidgets),) + QTINCLUDES += -I$(QTDIR)/include/QtWidgets + QTLDLIBS = -L$(QTDIR)/lib -lQt5Widgets -lQt5Gui -lQt5Core + CXXFLAGS += -std=c++11 -fPIC + endif + MOC = $(QTDIR)/bin/moc + UIC = $(QTDIR)/bin/uic + endif endif @@ -124,139 +124,139 @@ DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d CORESRCS = uart_posix.c \ - uart_win32.c \ - ui.c \ - commonutil.c \ - util.c \ - util_posix.c \ - scandir.c \ - crc16.c \ - comms.c + uart_win32.c \ + ui.c \ + commonutil.c \ + util.c \ + util_posix.c \ + scandir.c \ + crc16.c \ + comms.c -CMDSRCS = crapto1/crapto1.c \ - crapto1/crypto1.c \ - mifare/mfkey.c \ - tea.c \ - fido/additional_ca.c \ - fido/cose.c \ - fido/cbortools.c \ - fido/fidocore.c \ - crypto/asn1dump.c \ - crypto/libpcrypto.c\ - crypto/asn1utils.c\ - cliparser/argtable3.c\ - cliparser/cliparser.c\ - loclass/cipher.c \ - loclass/cipherutils.c \ - loclass/ikeys.c \ - loclass/elite_crack.c \ - loclass/fileutils.c \ - whereami.c \ - mifare/mifarehost.c \ - parity.c \ - crc.c \ - crc64.c \ - legic_prng.c \ - iso15693tools.c \ - prng.c \ - graph.c \ - cmddata.c \ - lfdemod.c \ - emv/crypto_polarssl.c\ - emv/crypto.c\ - emv/emv_pk.c\ - emv/emv_pki.c\ - emv/emv_pki_priv.c\ - emv/test/cryptotest.c\ - emv/apduinfo.c \ - emv/dump.c \ - emv/tlv.c \ - emv/emv_tags.c \ - emv/dol.c \ - emv/emvjson.c\ - emv/emvcore.c \ - emv/test/crypto_test.c\ - emv/test/sda_test.c\ - emv/test/dda_test.c\ - emv/test/cda_test.c\ - emv/cmdemv.c \ - emv/emv_roca.c \ +CMDSRCS = crapto1/crapto1.c \ + crapto1/crypto1.c \ + mifare/mfkey.c \ + tea.c \ + fido/additional_ca.c \ + fido/cose.c \ + fido/cbortools.c \ + fido/fidocore.c \ + crypto/asn1dump.c \ + crypto/libpcrypto.c\ + crypto/asn1utils.c\ + cliparser/argtable3.c\ + cliparser/cliparser.c\ + loclass/cipher.c \ + loclass/cipherutils.c \ + loclass/ikeys.c \ + loclass/elite_crack.c \ + loclass/fileutils.c \ + whereami.c \ + mifare/mifarehost.c \ + parity.c \ + crc.c \ + crc64.c \ + legic_prng.c \ + iso15693tools.c \ + prng.c \ + graph.c \ + cmddata.c \ + lfdemod.c \ + emv/crypto_polarssl.c\ + emv/crypto.c\ + emv/emv_pk.c\ + emv/emv_pki.c\ + emv/emv_pki_priv.c\ + emv/test/cryptotest.c\ + emv/apduinfo.c \ + emv/dump.c \ + emv/tlv.c \ + emv/emv_tags.c \ + emv/dol.c \ + emv/emvjson.c\ + emv/emvcore.c \ + emv/test/crypto_test.c\ + emv/test/sda_test.c\ + emv/test/dda_test.c\ + emv/test/cda_test.c\ + emv/cmdemv.c \ + emv/emv_roca.c \ mifare/mifare4.c \ mifare/mad.c \ mifare/ndef.c \ - cmdanalyse.c \ - cmdhf.c \ - cmdhflist.c \ - cmdhf14a.c \ - cmdhf14b.c \ - cmdhf15.c \ - cmdhfepa.c \ - cmdhflegic.c \ - cmdhficlass.c \ - cmdhfmf.c \ + cmdanalyse.c \ + cmdhf.c \ + cmdhflist.c \ + cmdhf14a.c \ + cmdhf14b.c \ + cmdhf15.c \ + cmdhfepa.c \ + cmdhflegic.c \ + cmdhficlass.c \ + cmdhfmf.c \ cmdhfmfu.c \ cmdhfmfp.c \ - cmdhfmfhard.c \ + cmdhfmfhard.c \ hardnested/hardnested_bruteforce.c \ - cmdhfmfdes.c \ - cmdhftopaz.c \ - cmdhffido.c \ - cmdhffelica.c \ - cmdhw.c \ - cmdlf.c \ - cmdlfawid.c \ - cmdlfcotag.c \ - cmdlfem4x.c \ - cmdlffdx.c \ - cmdlfguard.c \ - cmdlfhid.c \ - cmdlfhitag.c \ - cmdlfio.c \ - cmdlfindala.c \ - cmdlfjablotron.c \ - cmdlfkeri.c \ - cmdlfnexwatch.c \ - cmdlfnedap.c \ - cmdlfnoralsy.c \ - cmdlfpac.c \ - cmdlfparadox.c \ - cmdlfpcf7931.c \ - cmdlfpresco.c \ - cmdlfpyramid.c \ - cmdlfsecurakey.c \ - cmdlft55xx.c \ - cmdlfti.c \ - cmdlfviking.c \ - cmdlfvisa2000.c \ - cmdtrace.c \ - cmdflashmem.c \ - cmdsmartcard.c \ - cmdusart.c \ - cmdparser.c \ - cmdmain.c \ - pm3_binlib.c \ - scripting.c \ - cmdscript.c \ - pm3_bitlib.c \ - protocols.c \ - cmdcrc.c \ - reveng/preset.c \ - reveng/reveng.c \ - reveng/cli.c \ - reveng/bmpbit.c \ - reveng/model.c \ - reveng/poly.c \ - bucketsort.c + cmdhfmfdes.c \ + cmdhftopaz.c \ + cmdhffido.c \ + cmdhffelica.c \ + cmdhw.c \ + cmdlf.c \ + cmdlfawid.c \ + cmdlfcotag.c \ + cmdlfem4x.c \ + cmdlffdx.c \ + cmdlfguard.c \ + cmdlfhid.c \ + cmdlfhitag.c \ + cmdlfio.c \ + cmdlfindala.c \ + cmdlfjablotron.c \ + cmdlfkeri.c \ + cmdlfnexwatch.c \ + cmdlfnedap.c \ + cmdlfnoralsy.c \ + cmdlfpac.c \ + cmdlfparadox.c \ + cmdlfpcf7931.c \ + cmdlfpresco.c \ + cmdlfpyramid.c \ + cmdlfsecurakey.c \ + cmdlft55xx.c \ + cmdlfti.c \ + cmdlfviking.c \ + cmdlfvisa2000.c \ + cmdtrace.c \ + cmdflashmem.c \ + cmdsmartcard.c \ + cmdusart.c \ + cmdparser.c \ + cmdmain.c \ + pm3_binlib.c \ + scripting.c \ + cmdscript.c \ + pm3_bitlib.c \ + protocols.c \ + cmdcrc.c \ + reveng/preset.c \ + reveng/reveng.c \ + reveng/cli.c \ + reveng/bmpbit.c \ + reveng/model.c \ + reveng/poly.c \ + bucketsort.c cpu_arch = $(shell uname -m) ifneq ($(findstring 86, $(cpu_arch)), ) - MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c + MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c endif ifneq ($(findstring amd64, $(cpu_arch)), ) - MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c + MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c endif ifeq ($(MULTIARCHSRCS), ) - CMDSRCS += hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c + CMDSRCS += hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c endif ZLIBSRCS = deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c @@ -270,10 +270,10 @@ CMDOBJS = $(CMDSRCS:%.c=$(OBJDIR)/%.o) OBJCOBJS = $(OBJCSRCS:%.m=$(OBJDIR)/%.o) ZLIBOBJS = $(ZLIBSRCS:%.c=$(OBJDIR)/%.o) MULTIARCHOBJS = $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_NOSIMD.o) \ - $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_MMX.o) \ - $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_SSE2.o) \ - $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX.o) \ - $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX2.o) + $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_MMX.o) \ + $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_SSE2.o) \ + $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX.o) \ + $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX2.o) SUPPORTS_AVX512 := $(shell echo | gcc -E -mavx512f - > /dev/null 2>&1 && echo "True" ) @@ -284,12 +284,12 @@ HARD_SWITCH_AVX = -mmmx -msse2 -mavx -mno-avx2 HARD_SWITCH_AVX2 = -mmmx -msse2 -mavx -mavx2 HARD_SWITCH_AVX512 = -mmmx -msse2 -mavx -mavx2 -mavx512f ifeq "$(SUPPORTS_AVX512)" "True" - HARD_SWITCH_NOSIMD += -mno-avx512f - HARD_SWITCH_MMX += -mno-avx512f - HARD_SWITCH_SSE2 += -mno-avx512f - HARD_SWITCH_AVX += -mno-avx512f - HARD_SWITCH_AVX2 += -mno-avx512f - MULTIARCHOBJS += $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX512.o) + HARD_SWITCH_NOSIMD += -mno-avx512f + HARD_SWITCH_MMX += -mno-avx512f + HARD_SWITCH_SSE2 += -mno-avx512f + HARD_SWITCH_AVX += -mno-avx512f + HARD_SWITCH_AVX2 += -mno-avx512f + MULTIARCHOBJS += $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX512.o) endif BINS = proxmark3 flasher fpga_compress diff --git a/common/Makefile.common b/common/Makefile.common index a0e44fbe9..bbdf1d0e4 100644 --- a/common/Makefile.common +++ b/common/Makefile.common @@ -89,15 +89,15 @@ $(VERSIONOBJ): $(OBJDIR)/%.o: %.c $(INCLUDES) # without touching start address or RAM addresses (.bss and .data sections) # See ldscript.common. -- Henryk Plötz 2009-08-27 OBJCOPY_TRANSLATIONS = --no-change-warnings \ - --change-addresses -0x100000 --change-start 0 \ - --change-section-address .bss+0 --change-section-address .data-0x100000 \ - --change-section-address .commonarea+0 + --change-addresses -0x100000 --change-start 0 \ + --change-section-address .bss+0 --change-section-address .data-0x100000 \ + --change-section-address .commonarea+0 $(OBJDIR)/%.s19: $(OBJDIR)/%.elf $(OBJCOPY) -Osrec --srec-forceS3 --strip-debug $(OBJCOPY_TRANSLATIONS) $^ $@ # easy printing of MAKE VARIABLES print-%: ; @echo $* = $($*) - + # Automatic dependency generation DEPENDENCY_FILES = $(patsubst %.c,$(OBJDIR)/%.d,$(notdir $(THUMBSRC))) \ $(patsubst %.c,$(OBJDIR)/%.d,$(notdir $(ARMSRC))) \ diff --git a/common/Makefile.hal b/common/Makefile.hal index e42793482..58eddb86e 100644 --- a/common/Makefile.hal +++ b/common/Makefile.hal @@ -40,56 +40,56 @@ endef PLTNAME = Unknown Platform ifeq ($(PLATFORM),PM3RDV4) - MCU = AT91SAM7S512 - PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH - PLTNAME = Proxmark3 rdv4 + MCU = AT91SAM7S512 + PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH + PLTNAME = Proxmark3 rdv4 else ifeq ($(PLATFORM),PM3EVO) - MCU = AT91SAM7S512 - PLTNAME = Proxmark3 EVO + MCU = AT91SAM7S512 + PLTNAME = Proxmark3 EVO else ifeq ($(PLATFORM),PM3EASY) - MCU = AT91SAM7S256 - PLTNAME = Proxmark3 rdv3 Easy + MCU = AT91SAM7S256 + PLTNAME = Proxmark3 rdv3 Easy else ifeq ($(PLATFORM),PM3RDV2) - MCU = AT91SAM7S512 - PLTNAME = Proxmark3 rdv2 + MCU = AT91SAM7S512 + PLTNAME = Proxmark3 rdv2 else ifeq ($(PLATFORM),PM3OLD256) - MCU = AT91SAM7S256 - PLTNAME = Proxmark3 V1 with AT91SAM7S256 + MCU = AT91SAM7S256 + PLTNAME = Proxmark3 V1 with AT91SAM7S256 else ifeq ($(PLATFORM),PM3OLD512) - MCU = AT91SAM7S512 - PLTNAME = Proxmark3 V1 with AT91SAM7S512 + MCU = AT91SAM7S512 + PLTNAME = Proxmark3 V1 with AT91SAM7S512 else - $(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS)) + $(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS)) endif # parsing additional PLATFORM_EXTRAS tokens PLATFORM_EXTRAS_TMP:=$(PLATFORM_EXTRAS) ifneq (,$(findstring BTADDON,$(PLATFORM_EXTRAS_TMP))) - PLATFORM_DEFS += -DWITH_FPC_USART_HOST - PLATFORM_EXTRAS_TMP := $(strip $(filter-out BTADDON,$(PLATFORM_EXTRAS_TMP))) + PLATFORM_DEFS += -DWITH_FPC_USART_HOST + PLATFORM_EXTRAS_TMP := $(strip $(filter-out BTADDON,$(PLATFORM_EXTRAS_TMP))) endif ifneq (,$(findstring FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP))) - PLATFORM_DEFS += -DWITH_FPC_USART_DEV - PLATFORM_EXTRAS_TMP := $(strip $(filter-out FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP))) + PLATFORM_DEFS += -DWITH_FPC_USART_DEV + PLATFORM_EXTRAS_TMP := $(strip $(filter-out FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP))) endif ifneq (,$(PLATFORM_EXTRAS_TMP)) - $(error Unknown PLATFORM_EXTRAS token(s): $(PLATFORM_EXTRAS_TMP)) + $(error Unknown PLATFORM_EXTRAS token(s): $(PLATFORM_EXTRAS_TMP)) endif # common LF support PLATFORM_DEFS += \ - -DWITH_LF \ - -DWITH_HITAG + -DWITH_LF \ + -DWITH_HITAG # common HF support PLATFORM_DEFS += \ - -DWITH_ISO15693 \ - -DWITH_LEGICRF \ - -DWITH_ISO14443b \ - -DWITH_ISO14443a \ - -DWITH_ICLASS \ - -DWITH_FELICA \ - -DWITH_HFSNIFF + -DWITH_ISO15693 \ + -DWITH_LEGICRF \ + -DWITH_ISO14443b \ + -DWITH_ISO14443a \ + -DWITH_ICLASS \ + -DWITH_FELICA \ + -DWITH_HFSNIFF # Standalone mode # !! Choose only one !! @@ -112,7 +112,7 @@ $(info $(findstring WITH_STANDALONE_*,$(PLATFORM_DEFS))) # WITH_FPC_USART_* needs WITH_FPC_USART : ifneq (,$(findstring WITH_FPC_USART_,$(PLATFORM_DEFS))) - PLATFORM_DEFS += -DWITH_FPC_USART + PLATFORM_DEFS += -DWITH_FPC_USART endif PLATFORM_DEFS_INFO = $(strip $(filter-out STANDALONE%, $(subst -DWITH_,,$(PLATFORM_DEFS)))) @@ -120,7 +120,7 @@ PLATFORM_DEFS_INFO_STANDALONE = $(strip $(subst STANDALONE_,, $(filter STANDALON # Check that only one Standalone mode has been chosen ifneq (,$(word 2, $(PLATFORM_DEFS_INFO_STANDALONE))) - $(error You must choose only one Standalone mode!: $(PLATFORM_DEFS_INFO_STANDALONE)) + $(error You must choose only one Standalone mode!: $(PLATFORM_DEFS_INFO_STANDALONE)) endif