mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-05-12 11:18:11 -07:00
Client Makefile: add FORCE* options to mirror the SKIP* options, mostly for maintainers
This commit is contained in:
+40
-3
@@ -555,10 +555,16 @@ else
|
||||
ifeq ($(QT6_FOUND),1)
|
||||
$(info GUI support: QT6 found, enabled ($(shell QT_SELECT=6 $(QMAKE) -v 2>/dev/null|grep -o 'Qt version.*')))
|
||||
else
|
||||
ifeq ($(FORCEQT6),1)
|
||||
$(error FORCEQT6 not satisfied, aborting)
|
||||
endif
|
||||
$(info GUI support: QT5 found, enabled ($(shell QT_SELECT=5 $(QMAKE) -v 2>/dev/null|grep -o 'Qt version.*')))
|
||||
endif
|
||||
else
|
||||
$(info GUI support: QT not found, disabled)
|
||||
ifeq ($(FORCEQT),1)
|
||||
$(error FORCEQT not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -569,6 +575,9 @@ else
|
||||
$(info native BT support: Bluez found, enabled)
|
||||
else
|
||||
$(info native BT support: Bluez not found, disabled)
|
||||
ifeq ($(FORCEBT),1)
|
||||
$(error FORCEBT not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -578,6 +587,9 @@ else ifeq ($(JANSSON_FOUND),1)
|
||||
$(info Jansson library: system library found)
|
||||
else
|
||||
$(info Jansson library: system library not found, using local library)
|
||||
ifeq ($(FORCEJANSSONSYSTEM),1)
|
||||
$(error FORCEJANSSONSYSTEM not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SKIPLUASYSTEM),1)
|
||||
@@ -587,6 +599,9 @@ else
|
||||
$(info Lua library: system library found)
|
||||
else
|
||||
$(info Lua library: system library not found, using local library)
|
||||
ifeq ($(FORCELUASYSTEM),1)
|
||||
$(error FORCELUASYSTEM not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -597,6 +612,9 @@ else
|
||||
$(info Python3 library: Python3 v$(shell $(PKG_CONFIG_ENV) pkg-config --modversion $(PYTHON3_PKGCONFIG)) found, enabled)
|
||||
else
|
||||
$(info Python3 library: Python3 not found, disabled)
|
||||
ifeq ($(FORCEPYTHON),1)
|
||||
$(error FORCEPYTHON not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -607,13 +625,23 @@ else
|
||||
$(info GD library: GD v$(shell $(PKG_CONFIG_ENV) pkg-config --modversion gdlib) found, enabled)
|
||||
else
|
||||
$(info GD library: GD not found, disabled)
|
||||
ifeq ($(FORCEGD),1)
|
||||
$(error FORCEGD not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(ZLIB_FOUND),1)
|
||||
$(info Zlib library: system library found, enabled)
|
||||
ifeq ($(SKIPZLIB),1)
|
||||
$(info Zlib library: skipped)
|
||||
else
|
||||
$(info Zlib library: not found, disabled)
|
||||
ifeq ($(ZLIB_FOUND),1)
|
||||
$(info Zlib library: system library found, enabled)
|
||||
else
|
||||
$(info Zlib library: not found, disabled)
|
||||
ifeq ($(FORCEZLIB),1)
|
||||
$(error FORCEZLIB not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SKIPREADLINE),1)
|
||||
@@ -623,6 +651,9 @@ else
|
||||
$(info Readline library: enabled)
|
||||
else
|
||||
$(info Readline library: Readline not found, disabled)
|
||||
ifeq ($(FORCEREADLINE),1)
|
||||
$(error FORCEREADLINE not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -634,6 +665,9 @@ ifneq ($(READLINE_FOUND),1)
|
||||
$(info Linenoise library: enabled)
|
||||
else
|
||||
$(info Linenoise library: Linenoise not found, disabled)
|
||||
ifeq ($(FORCELINENOISE),1)
|
||||
$(error FORCELINENOISE not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -645,6 +679,9 @@ else
|
||||
$(info Whereami library: system library found)
|
||||
else
|
||||
$(info Whereami library: system library not found, using local library)
|
||||
ifeq ($(FORCEWHEREAMISYSTEM),1)
|
||||
$(error FORCEWHEREAMISYSTEM not satisfied, aborting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -62,6 +62,8 @@ It's also possible to skip parts even if libraries are present in the compilatio
|
||||
* `make client SKIPQT=1` to skip GUI even if Qt is present
|
||||
* `make client SKIPQT6=1` to skip Qt6 even if Qt6 is present, anf fallback on Qt5
|
||||
* `make client SKIPBT=1` to skip native Bluetooth support even if libbluetooth is present
|
||||
* `make client SKIPGD=1` to skip NFC ePaper support even if libgd is present
|
||||
* `make client SKIPZPIB=1` to skip decompressing compressed Google Smart Tap payloads support even if libzlib is present
|
||||
* `make client SKIPPYTHON=1` to skip embedded Python 3 interpreter even if libpython3 is present
|
||||
* `make client SKIPLUASYSTEM=1` to skip system Lua lib even if liblua5.2 is present, use embedded Lua lib instead
|
||||
* `make client SKIPJANSSONSYSTEM=1` to skip system Jansson lib even if libjansson is present, use embedded Jansson lib instead
|
||||
@@ -89,6 +91,19 @@ Some unittests are available via `make check`, which is actually triggering indi
|
||||
|
||||
* `SKIPUV=1 tools/pm3_tests.sh` to skip usage of `uv` even if `uv` is present, and force usage of `python3` (in which case you must take care of installing the script dependencies yourself)
|
||||
|
||||
Inversely, it's possible to mandate parts and make sure the compilation will fail if libraries are not present in the compilation environment:
|
||||
|
||||
* `make client FORCEQT=1` to make sure Qt is present
|
||||
* `make client FORCEQT6=1` to make sure Qt6 is present
|
||||
* `make client FORCEBT=1` to make sure libbluetooth is present
|
||||
* `make client FORCEGD=1` to make sure libgd is present
|
||||
* `make client FORCEZPIB=1` to make sure libzlib is present
|
||||
* `make client FORCEPYTHON=1` to make sure libpython3 is present
|
||||
* `make client FORCELUASYSTEM=1` to make sure liblua5.2 is present in the system
|
||||
* `make client FORCEJANSSONSYSTEM=1` to make sure libjansson is present in the system
|
||||
* `make client FORCEWHEREAMISYSTEM=1` to make sure libwhereami is present in the system
|
||||
* `make client FORCEREADLINE=1` to make sure libreadline is present
|
||||
|
||||
Host binaries are compiled with hardening flags (only with Makefile, not with cmake). Exact level of hardening depends on the OS.
|
||||
|
||||
* `make host NOHARDENING=1` to disable hardening flags.
|
||||
|
||||
Reference in New Issue
Block a user