proxmark3/common/Makefile.hal

113 lines
3.4 KiB
Makefile

define KNOWN_PLATFORMS
+--------------------------------------------------------+
| PLATFORM | DESCRIPTION |
+--------------------------------------------------------+
| PM3RDV4 (def) | Proxmark3 rdv4 with AT91SAM7S512 |
+--------------------------------------------------------+
| PM3RDV4FPC | Proxmark3 rdv4+FPC (experimental) |
+--------------------------------------------------------+
| PM3EVO | Proxmark3 EVO with AT91SAM7S512 |
+--------------------------------------------------------+
| PM3EASY | Proxmark3 rdv3 Easy with AT91SAM7S256 |
+--------------------------------------------------------+
| PM3RDV2 | Proxmark3 rdv2 with AT91SAM7S512 |
+--------------------------------------------------------+
| PM3OLD256 | Proxmark3 V1 with AT91SAM7S256 |
+--------------------------------------------------------+
| PM3OLD512 | Proxmark3 V1 with AT91SAM7S512 |
+--------------------------------------------------------+
Options to define platform:
(1) Run make with PLATFORM specified as follows:
make PLATFORM=PM3EASY
(2) Save a file called Makefile.platform with contents:
PLATFORM=PM3EASY
endef
PLTNAME = Unknown Platform
ifeq ($(PLATFORM),PM3RDV4)
MCU = AT91SAM7S512
PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH
PLTNAME = Proxmark3 rdv4
else ifeq ($(PLATFORM),PM3RDV4FPC)
MCU = AT91SAM7S512
PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH -DWITH_FPC_HOST
PLTNAME = Proxmark3 rdv4
else ifeq ($(PLATFORM),PM3EVO)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 EVO
else ifeq ($(PLATFORM),PM3EASY)
MCU = AT91SAM7S256
PLTNAME = Proxmark3 rdv3 Easy
else ifeq ($(PLATFORM),PM3RDV2)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 rdv2
else ifeq ($(PLATFORM),PM3OLD256)
MCU = AT91SAM7S256
PLTNAME = Proxmark3 V1 with AT91SAM7S256
else ifeq ($(PLATFORM),PM3OLD512)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 V1 with AT91SAM7S512
else
$(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS))
endif
# common LF support
PLATFORM_DEFS += \
-DWITH_LF \
-DWITH_HITAG
# common HF support
PLATFORM_DEFS += \
-DWITH_ISO15693 \
-DWITH_LEGICRF \
-DWITH_ISO14443b \
-DWITH_ISO14443a \
-DWITH_ICLASS \
-DWITH_FELICA \
-DWITH_HFSNIFF
# Standalone mode
# !! Choose only one !!
PLATFORM_DEFS += -DWITH_STANDALONE_LF_SAMYRUN
#PLATFORM_DEFS += -DWITH_STANDALONE_LF_ICERUN
#PLATFORM_DEFS += -DWITH_STANDALONE_LF_PROXBRUTE
#PLATFORM_DEFS += -DWITH_STANDALONE_LF_HIDBRUTE
#PLATFORM_DEFS += -DWITH_STANDALONE_HF_YOUNG
#PLATFORM_DEFS += -DWITH_STANDALONE_HF_MATTYRUN
#PLATFORM_DEFS += -DWITH_STANDALONE_HF_COLIN
#PLATFORM_DEFS += -DWITH_STANDALONE_HF_BOG
$(info $(findstring WITH_STANDALONE_*,$(PLATFORM_DEFS)))
# Misc
#PLATFORM_DEFS += -DWITH_LCD
# Add flags dependencies :
# WITH_FPC_* needs WITH_FPC :
ifneq (,$(findstring WITH_FPC_,$(PLATFORM_DEFS)))
PLATFORM_DEFS += -DWITH_FPC
endif
PLATFORM_DEFS_INFO = $(strip $(filter-out STANDALONE%, $(subst -DWITH_,,$(PLATFORM_DEFS))))
PLATFORM_DEFS_INFO_STANDALONE = $(strip $(subst STANDALONE_,, $(filter STANDALONE%, $(subst -DWITH_,,$(PLATFORM_DEFS)))))
# 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))
endif
export PLATFORM
export PLTNAME
export MCU
export PLATFORM_DEFS
export PLATFORM_DEFS_INFO
export PLATFORM_DEFS_INFO_STANDALONE