From 595fde53126bf61f79565367ed2b545a9b2509ed Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Fri, 30 Aug 2019 23:35:29 +0200 Subject: [PATCH] update scripts to work with make install --- Makefile | 39 +++++++++++++++++++++++---------------- Makefile.defs | 2 +- flash-all.sh | 5 ----- flash-bootrom.sh | 5 ----- flash-fullimage.sh | 5 ----- proxmark3.sh => pm3 | 39 +++++++++++++++++++++++++++------------ pm3-flash-all | 4 ++++ pm3-flash-bootrom | 4 ++++ pm3-flash-fullimage | 4 ++++ 9 files changed, 63 insertions(+), 44 deletions(-) delete mode 100755 flash-all.sh delete mode 100755 flash-bootrom.sh delete mode 100755 flash-fullimage.sh rename proxmark3.sh => pm3 (66%) create mode 100755 pm3-flash-all create mode 100755 pm3-flash-bootrom create mode 100755 pm3-flash-fullimage diff --git a/Makefile b/Makefile index 92e53cb93..79d9a2ff8 100644 --- a/Makefile +++ b/Makefile @@ -18,20 +18,24 @@ all clean install uninstall: %: client/% bootrom/% armsrc/% recovery/% mfkey/% n INSTALLTOOLS=pm3_eml2lower.sh pm3_eml2upper.sh pm3_mfdread.py pm3_mfd2eml.py pm3_eml2mfd.py findbits.py rfidtest.pl xorcheck.py INSTALLSIMFW=sim011.bin sim011.sha512.txt +INSTALLSCRIPTS=pm3 pm3-flash-all pm3-flash-bootrom pm3-flash-fullimage +INSTALLSHARES=tools/jtag_openocd traces +INSTALLDOCS=doc/*.md doc/md install: all $(info [@] Installing common resources to $(MYDESTDIR)$(PREFIX)...) +ifneq (,$(INSTALLSCRIPTS)) $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH) - # TODO scripts must be adapted, they're currently broken - $(Q)$(CP) proxmark3.sh $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3 - $(Q)$(CP) flash-all.sh $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3-flash-all - $(Q)$(CP) flash-bootrom.sh $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3-flash-bootrom - $(Q)$(CP) flash-fullimage.sh $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3-flash-fullimage + $(Q)$(CP) $(INSTALLSCRIPTS) $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH) +endif +ifneq (,$(INSTALLSHARES)) $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH) - $(Q)$(CP) tools/jtag_openocd $(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH) - $(Q)$(CP) traces $(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH) - $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)$(INSTALLDOCRELPATH) - $(Q)$(CP) doc/* $(DESTDIR)$(PREFIX)$(INSTALLDOCRELPATH) + $(Q)$(CP) $(INSTALLSHARES) $(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH) +endif +ifneq (,$(INSTALLDOCS)) + $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)$(INSTALLDOCSRELPATH) + $(Q)$(CP) $(INSTALLDOCS) $(DESTDIR)$(PREFIX)$(INSTALLDOCSRELPATH) +endif ifneq (,$(INSTALLTOOLS)) $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)$(INSTALLTOOLSRELPATH) $(Q)$(CP) $(foreach tool,$(INSTALLTOOLS),tools/$(tool)) $(DESTDIR)$(PREFIX)$(INSTALLTOOLSRELPATH) @@ -47,13 +51,16 @@ endif uninstall: $(info [@] Uninstalling common resources from $(MYDESTDIR)$(PREFIX)...) - $(Q)$(RM) $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3 - $(Q)$(RM) $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3-flash-all - $(Q)$(RM) $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3-flash-bootrom - $(Q)$(RM) $(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)/pm3-flash-fullimage - $(Q)$(RMDIR) $(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH)/jtag_openocd - $(Q)$(RMDIR) $(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH)/traces - $(Q)$(RMDIR) $(DESTDIR)$(PREFIX)$(INSTALLDOCRELPATH) +ifneq (,$(INSTALLSCRIPTS)) + $(Q)$(RM) $(foreach script,$(INSTALLSCRIPTS),$(DESTDIR)$(PREFIX)$(INSTALLBINRELPATH)$(notdir $(script))) +endif +ifneq (,$(INSTALLSHARES)) + $(Q)$(RMDIR) $(foreach share,$(INSTALLSHARES),$(DESTDIR)$(PREFIX)$(INSTALLSHARERELPATH)$(notdir $(share))) +endif +ifneq (,$(INSTALLDOCS)) + $(Q)$(RMDIR) $(foreach doc,$(INSTALLDOCS),$(DESTDIR)$(PREFIX)$(INSTALLDOCSRELPATH)$(notdir $(doc))) + $(Q)$(RMDIR_SOFT) $(DESTDIR)$(PREFIX)$(INSTALLDOCSRELPATH) +endif ifneq (,$(INSTALLTOOLS)) $(Q)$(RM) $(foreach tool,$(INSTALLTOOLS),$(DESTDIR)$(PREFIX)$(INSTALLTOOLSRELPATH)$(notdir $(tool))) endif diff --git a/Makefile.defs b/Makefile.defs index 3f12cacb3..6364c794a 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -32,7 +32,7 @@ INSTALLBINRELPATH = /bin/ INSTALLSHARERELPATH = /share/proxmark3/ INSTALLFWRELPATH = /share/proxmark3/firmware/ INSTALLTOOLSRELPATH = /share/proxmark3/tools/ -INSTALLDOCRELPATH = /share/doc/proxmark3/ +INSTALLDOCSRELPATH = /share/doc/proxmark3/ platform = $(shell uname) DETECTED_OS=$(platform) diff --git a/flash-all.sh b/flash-all.sh deleted file mode 100755 index d4fcdc975..000000000 --- a/flash-all.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -PM3PATH=$(dirname "$0") -cd "$PM3PATH" || exit 1 -. proxmark3.sh diff --git a/flash-bootrom.sh b/flash-bootrom.sh deleted file mode 100755 index d4fcdc975..000000000 --- a/flash-bootrom.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -PM3PATH=$(dirname "$0") -cd "$PM3PATH" || exit 1 -. proxmark3.sh diff --git a/flash-fullimage.sh b/flash-fullimage.sh deleted file mode 100755 index d4fcdc975..000000000 --- a/flash-fullimage.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -PM3PATH=$(dirname "$0") -cd "$PM3PATH" || exit 1 -. proxmark3.sh diff --git a/proxmark3.sh b/pm3 similarity index 66% rename from proxmark3.sh rename to pm3 index 89e7e960b..11eb59d31 100755 --- a/proxmark3.sh +++ b/pm3 @@ -1,10 +1,25 @@ #!/bin/bash -FULLIMAGE="armsrc/obj/fullimage.elf" -BOOTIMAGE="bootrom/obj/bootrom.elf" - PM3PATH=$(dirname "$0") -cd "$PM3PATH" || exit 1 +# try pm3 dirs in current repo workdir +if [ -d "$PM3PATH/client/" ]; then + CLIENT="$PM3PATH/client/proxmark3" + FLASHER="$PM3PATH/client/proxmark3-flasher" + FULLIMAGE="$PM3PATH/armsrc/obj/fullimage.elf" + BOOTIMAGE="$PM3PATH/bootrom/obj/bootrom.elf" +# try install dir +elif [ -x "$PM3PATH/proxmark3" ]; then + CLIENT="$PM3PATH/proxmark3" + FLASHER="$PM3PATH/proxmark3-flasher" + FULLIMAGE="$PM3PATH/../share/proxmark3/firmware/fullimage.elf" + BOOTIMAGE="$PM3PATH/../share/proxmark3/firmware/bootrom.elf" +else +# hope it's installed somehow, still not sure where fw images are... + CLIENT="proxmark3" + FLASHER="proxmark3-flasher" + FULLIMAGE="$PM3PATH/../share/proxmark3/firmware/fullimage.elf" + BOOTIMAGE="$PM3PATH/../share/proxmark3/firmware/bootrom.elf" +fi function wait4proxmark_Linux { echo >&2 "[=] Waiting for Proxmark3 to appear..." @@ -63,14 +78,14 @@ function wait4proxmark_WSL { SCRIPT=$(basename -- "$0") -if [ "$SCRIPT" = "proxmark3.sh" ]; then - CMD() { client/proxmark3 "$@"; } -elif [ "$SCRIPT" = "flash-all.sh" ]; then - CMD() { client/flasher "$1" -b "$BOOTIMAGE" "$FULLIMAGE"; } -elif [ "$SCRIPT" = "flash-fullimage.sh" ]; then - CMD() { client/flasher "$1" "$FULLIMAGE"; } -elif [ "$SCRIPT" = "flash-bootrom.sh" ]; then - CMD() { client/flasher "$1" -b "$BOOTIMAGE"; } +if [ "$SCRIPT" = "pm3" ]; then + CMD() { $CLIENT "$@"; } +elif [ "$SCRIPT" = "pm3-flash-all" ]; then + CMD() { $FLASHER "$1" -b "$BOOTIMAGE" "$FULLIMAGE"; } +elif [ "$SCRIPT" = "pm3-flash-fullimage" ]; then + CMD() { $FLASHER "$1" "$FULLIMAGE"; } +elif [ "$SCRIPT" = "pm3-flash-bootrom" ]; then + CMD() { $FLASHER "$1" -b "$BOOTIMAGE"; } else echo "[!!] Script ran under unknown name, abort: $SCRIPT" exit 1 diff --git a/pm3-flash-all b/pm3-flash-all new file mode 100755 index 000000000..e5cd5479d --- /dev/null +++ b/pm3-flash-all @@ -0,0 +1,4 @@ +#!/bin/bash + +PM3PATH=$(dirname "$0") +. "$PM3PATH/pm3" diff --git a/pm3-flash-bootrom b/pm3-flash-bootrom new file mode 100755 index 000000000..e5cd5479d --- /dev/null +++ b/pm3-flash-bootrom @@ -0,0 +1,4 @@ +#!/bin/bash + +PM3PATH=$(dirname "$0") +. "$PM3PATH/pm3" diff --git a/pm3-flash-fullimage b/pm3-flash-fullimage new file mode 100755 index 000000000..e5cd5479d --- /dev/null +++ b/pm3-flash-fullimage @@ -0,0 +1,4 @@ +#!/bin/bash + +PM3PATH=$(dirname "$0") +. "$PM3PATH/pm3"