From 74f16dc092033d13a4488c8a432e95373da27ae0 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Fri, 8 May 2020 15:56:32 +0200 Subject: [PATCH] move whereami to deps --- client/CMakeLists.txt | 18 ++++++++++++++++-- client/Makefile | 18 ++++++++++++------ client/android/CMakeLists.txt | 17 +++++++++++++++-- client/deps/CMakeLists.txt | 3 ++- client/deps/whereami.cmake | 6 ++++++ client/deps/whereami/Makefile | 9 +++++++++ client/{src => deps/whereami}/whereami.c | 0 client/{src => deps/whereami}/whereami.h | 0 8 files changed, 60 insertions(+), 11 deletions(-) create mode 100644 client/deps/whereami.cmake create mode 100644 client/deps/whereami/Makefile rename client/{src => deps/whereami}/whereami.c (100%) rename client/{src => deps/whereami}/whereami.h (100%) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 7b17c1e36..07d2abb40 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -174,7 +174,6 @@ set (TARGET_SOURCES src/tea.c src/ui.c src/util.c - src/whereami.c src/wiegand_formats.c src/wiegand_formatutils.c ) @@ -260,8 +259,23 @@ find_library(pm3rrg_rdv4_mbedtls REQUIRED) find_library(pm3rrg_rdv4_reveng REQUIRED) find_library(pm3rrg_rdv4_z REQUIRED) find_library(pm3rrg_rdv4_hardnested REQUIRED) +find_library(pm3rrg_rdv4_whereami REQUIRED) -target_link_libraries(proxmark3 PRIVATE readline pthread m pm3rrg_rdv4_mbedtls pm3rrg_rdv4_cliparser pm3rrg_rdv4_jansson pm3rrg_rdv4_lua pm3rrg_rdv4_tinycbor pm3rrg_rdv4_amiibo pm3rrg_rdv4_reveng pm3rrg_rdv4_z pm3rrg_rdv4_hardnested ${ADDITIONAL_LNK}) +target_link_libraries(proxmark3 PRIVATE + readline + pthread + m + pm3rrg_rdv4_mbedtls + pm3rrg_rdv4_cliparser + pm3rrg_rdv4_jansson + pm3rrg_rdv4_lua + pm3rrg_rdv4_tinycbor + pm3rrg_rdv4_amiibo + pm3rrg_rdv4_reveng + pm3rrg_rdv4_z + pm3rrg_rdv4_hardnested + pm3rrg_rdv4_whereami + ${ADDITIONAL_LNK}) install(TARGETS proxmark3 DESTINATION "bin") install(DIRECTORY cmdscripts lualibs luascripts resources dictionaries DESTINATION "share/proxmark3") diff --git a/client/Makefile b/client/Makefile index 3a3aeedce..48789d9f9 100644 --- a/client/Makefile +++ b/client/Makefile @@ -46,6 +46,8 @@ HARDNESTEDPATH = ./deps/hardnested HARDNESTEDLIB = $(HARDNESTEDPATH)/libhardnested.a CLIPARSERPATH = ./deps/cliparser CLIPARSERLIB = $(CLIPARSERPATH)/libcliparser.a +WAILIBPATH = ./deps/whereami +WAILIB = $(WAILIBPATH)/libwhereami.a # common libraries MBEDTLSLIBPATH = ../common/mbedtls @@ -53,12 +55,12 @@ MBEDTLSLIB = $(OBJDIR)/libmbedtls.a ZLIBPATH = ../common/zlib ZLIB = $(OBJDIR)/libz.a -LIBS = -I$(LUALIBPATH) -I$(MBEDTLSLIBPATH) -I$(JANSSONLIBPATH) -I$(CBORLIBPATH) -I$(ZLIBPATH) -I$(REVENGPATH) -I$(AMIIBOLIBPATH) -I$(HARDNESTEDPATH) -I$(CLIPARSERPATH) +LIBS = -I$(LUALIBPATH) -I$(MBEDTLSLIBPATH) -I$(JANSSONLIBPATH) -I$(CBORLIBPATH) -I$(ZLIBPATH) -I$(REVENGPATH) -I$(AMIIBOLIBPATH) -I$(HARDNESTEDPATH) -I$(CLIPARSERPATH) -I$(WAILIBPATH) INCLUDES_CLIENT += -I./src -I../include -I../common -I../common_fpga $(LIBS) CFLAGS ?= $(DEFCFLAGS) # We cannot just use CFLAGS+=... because it has impact on sub-makes if CFLAGS is defined in env: -PM3CFLAGS = $(CFLAGS) $(INCLUDES_CLIENT) -DWAI_PM3_TUNED +PM3CFLAGS = $(CFLAGS) $(INCLUDES_CLIENT) # WIP Testing #PM3CFLAGS = $(CFLAGS) -std=c11 -pedantic $(INCLUDES_CLIENT) PREFIX ?= /usr/local @@ -192,7 +194,6 @@ CMDSRCS = crapto1/crapto1.c \ loclass/ikeys.c \ loclass/elite_crack.c \ fileutils.c \ - whereami.c \ mifare/mifarehost.c \ parity.c \ crc.c \ @@ -313,8 +314,8 @@ all: $(BINS) all-static: LDLIBS:=-static $(LDLIBS) all-static: $(BINS) -proxmark3: LDLIBS+=$(LUALIB) $(JANSSONLIB) $(MBEDTLSLIB) $(CBORLIB) $(ZLIB) $(REVENGLIB) $(AMIIBOLIB) $(HARDNESTEDLIB) $(CLIPARSERLIB) $(BTLDLIBS) $(QTLDLIBS) -proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(QTGUIOBJS) liblua jansson tinycbor reveng mbedtls zlib amiibo hardnested cliparser lualibs/pm3_cmd.lua lualibs/mfc_default_keys.lua +proxmark3: LDLIBS+=$(LUALIB) $(JANSSONLIB) $(MBEDTLSLIB) $(CBORLIB) $(ZLIB) $(REVENGLIB) $(AMIIBOLIB) $(HARDNESTEDLIB) $(CLIPARSERLIB) $(WAILIB) $(BTLDLIBS) $(QTLDLIBS) +proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(QTGUIOBJS) liblua jansson tinycbor reveng mbedtls zlib amiibo hardnested cliparser whereami lualibs/pm3_cmd.lua lualibs/mfc_default_keys.lua $(info [=] LD $@) $(Q)$(LD) $(LDFLAGS) $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(QTGUIOBJS) $(LDLIBS) -o $@ @@ -346,6 +347,7 @@ clean: $(Q)$(MAKE) --no-print-directory -C $(AMIIBOLIBPATH) clean $(Q)$(MAKE) --no-print-directory -C $(HARDNESTEDPATH) clean $(Q)$(MAKE) --no-print-directory -C $(CLIPARSERPATH) clean + $(Q)$(MAKE) --no-print-directory -C $(WAILIBPATH) clean install: all $(info [@] Installing client to $(DESTDIR)$(PREFIX)...) @@ -402,6 +404,10 @@ cliparser: $(info [*] MAKE $@) $(Q)$(MAKE) --no-print-directory -C $(CLIPARSERPATH) all +whereami: + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C $(WAILIBPATH) all + # common libraries: mbedtls: $(info [*] MAKE $@) @@ -411,7 +417,7 @@ zlib: $(info [*] MAKE $@) $(Q)$(MAKE) --no-print-directory -C $(ZLIBPATH) OBJDIR=$(ROOT_DIR)$(OBJDIR) BINDIR=$(ROOT_DIR)$(OBJDIR) all -.PHONY: all clean install uninstall tarbin liblua jansson tinycbor reveng hardnested amiibo cliparser mbedtls zlib +.PHONY: all clean install uninstall tarbin liblua jansson tinycbor reveng hardnested amiibo cliparser whereami mbedtls zlib # easy printing of MAKE VARIABLES print-%: ; @echo $* = $($*) diff --git a/client/android/CMakeLists.txt b/client/android/CMakeLists.txt index fc7c759bb..318909e72 100644 --- a/client/android/CMakeLists.txt +++ b/client/android/CMakeLists.txt @@ -136,7 +136,6 @@ add_library(pm3rrg_rdv4 SHARED ${PM3_ROOT}/client/src/cmdparser.c ${PM3_ROOT}/client/src/cmdscript.c ${PM3_ROOT}/client/src/cmdlfvisa2000.c - ${PM3_ROOT}/client/src/whereami.c ${PM3_ROOT}/client/src/cmdmain.c ${PM3_ROOT}/client/src/cmdflashmem.c ${PM3_ROOT}/client/src/scripting.c @@ -167,5 +166,19 @@ find_library(pm3rrg_rdv4_mbedtls REQUIRED) find_library(pm3rrg_rdv4_reveng REQUIRED) find_library(pm3rrg_rdv4_z REQUIRED) find_library(pm3rrg_rdv4_hardnested REQUIRED) +find_library(pm3rrg_rdv4_whereami REQUIRED) -target_link_libraries(pm3rrg_rdv4 pm3rrg_rdv4_hardnested pm3rrg_rdv4_mbedtls pm3rrg_rdv4_cliparser pm3rrg_rdv4_jansson pm3rrg_rdv4_lua pm3rrg_rdv4_tinycbor pm3rrg_rdv4_amiibo pm3rrg_rdv4_reveng pm3rrg_rdv4_z android log) \ No newline at end of file +target_link_libraries( + pm3rrg_rdv4 + pm3rrg_rdv4_hardnested + pm3rrg_rdv4_mbedtls + pm3rrg_rdv4_cliparser + pm3rrg_rdv4_jansson + pm3rrg_rdv4_lua + pm3rrg_rdv4_tinycbor + pm3rrg_rdv4_amiibo + pm3rrg_rdv4_reveng + pm3rrg_rdv4_whereami + pm3rrg_rdv4_z + android + log) diff --git a/client/deps/CMakeLists.txt b/client/deps/CMakeLists.txt index 6b577d438..ac42065bf 100644 --- a/client/deps/CMakeLists.txt +++ b/client/deps/CMakeLists.txt @@ -6,4 +6,5 @@ include(mbedtls.cmake) include(amiibo.cmake) include(reveng.cmake) include(zlib.cmake) -include(hardnested.cmake) \ No newline at end of file +include(hardnested.cmake) +include(whereami.cmake) diff --git a/client/deps/whereami.cmake b/client/deps/whereami.cmake new file mode 100644 index 000000000..d2d6a5b2a --- /dev/null +++ b/client/deps/whereami.cmake @@ -0,0 +1,6 @@ +add_library(pm3rrg_rdv4_whereami STATIC whereami/whereami.c) + +target_compile_definitions(pm3rrg_rdv4_whereami PRIVATE WAI_PM3_TUNED) +target_include_directories(pm3rrg_rdv4_whereami INTERFACE whereami) +target_compile_options(pm3rrg_rdv4_whereami PRIVATE -Wall -Werror -O3) +set_property(TARGET pm3rrg_rdv4_whereami PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/whereami/Makefile b/client/deps/whereami/Makefile new file mode 100644 index 000000000..c25e4b056 --- /dev/null +++ b/client/deps/whereami/Makefile @@ -0,0 +1,9 @@ +MYSRCPATHS = +MYINCLUDES = +MYCFLAGS = +MYDEFS = -DWAI_PM3_TUNED +MYSRCS = whereami.c + +LIB_A = libwhereami.a + +include ../../../Makefile.host diff --git a/client/src/whereami.c b/client/deps/whereami/whereami.c similarity index 100% rename from client/src/whereami.c rename to client/deps/whereami/whereami.c diff --git a/client/src/whereami.h b/client/deps/whereami/whereami.h similarity index 100% rename from client/src/whereami.h rename to client/deps/whereami/whereami.h