# Default standalone if no standalone specified
DEFAULT_STANDALONE=LF_SAMYRUN
HELP_EXAMPLE_STANDALONE=HF_YOUNG 
# (you can set explicitly STANDALONE= to disable standalone modes)
STANDALONE?=$(DEFAULT_STANDALONE)
STANDALONE_REQ_DEFS=

define KNOWN_STANDALONE_DEFINITIONS
+==========================================================+
| STANDALONE      | DESCRIPTION                            |
+==========================================================+
| (empty)         | No standalone mode                     |
+----------------------------------------------------------+
| LF_SAMYRUN      | HID26 read/clone/sim                   |
| (default)       | - Samy Kamkar                          |
+----------------------------------------------------------+
| LF_ICERUN       | standalone mode skeleton               |
|                 | - iceman                               |
+----------------------------------------------------------+
| LF_PROXBRUTE    | HID ProxII bruteforce                  |
|                 | - Brad Antoniewicz                     |
+----------------------------------------------------------+
| LF_HIDBRUTE     | HID corporate 1000 bruteforce          |
|                 | - Federico dotta & Maurizio Agazzini   |
+----------------------------------------------------------+
| HF_YOUNG        | Mifare sniff/simulation                |
|                 | - Craig Young                          |
+----------------------------------------------------------+
| HF_MATTYRUN     | Mifare sniff/clone                     |
|                 | - Matías A. Ré Medina                  |
+----------------------------------------------------------+
| HF_COLIN        | Mifare ultra fast sniff/sim/clone      |
| (RDV4 only)     | - Colin Brigato                        |
+----------------------------------------------------------+
| HF_BOG          | 14a sniff with ULC/ULEV1/NTAG auth     |
| (RDV4 only)     | storing in flashmem - Bogito           |
+----------------------------------------------------------+

endef

STANDALONE_MODES := LF_SAMYRUN LF_ICERUN LF_PROXBRUTE LF_HIDBRUTE
STANDALONE_MODES += HF_YOUNG HF_MATTYRUN HF_COLIN HF_BOG
STANDALONE_MODES_REQ_SMARTCARD :=
STANDALONE_MODES_REQ_FLASH := HF_COLIN HF_BOG
ifneq ($(filter $(STANDALONE),$(STANDALONE_MODES)),)
    STANDALONE_PLATFORM_DEFS += -DWITH_STANDALONE_$(STANDALONE)
    ifneq ($(filter $(STANDALONE),$(STANDALONE_MODES_REQ_SMARTCARD)),)
        STANDALONE_REQ_DEFS += -DWITH_SMARTCARD
    endif
    ifneq ($(filter $(STANDALONE),$(STANDALONE_MODES_REQ_FLASH)),)
        STANDALONE_REQ_DEFS += -DWITH_FLASH
    endif
else ifneq ($(STANDALONE),)
    $(error Invalid STANDALONE: $(STANDALONE). $(KNOWN_DEFINITIONS))
endif
