mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-31 03:50:12 -07:00
fix OS detection, libgcc detection
This commit is contained in:
parent
1dea88f976
commit
d5be6f7cd4
3 changed files with 34 additions and 44 deletions
14
Makefile
14
Makefile
|
@ -1,21 +1,13 @@
|
||||||
include common/Makefile.common
|
include common/Makefile.common
|
||||||
|
|
||||||
ifeq ($(DETECTED_OS),Linux)
|
all clean: %: bootrom/% armsrc/% client/%
|
||||||
HOST_BINARY=linux
|
|
||||||
else
|
|
||||||
HOST_BINARY=winsrc
|
|
||||||
endif
|
|
||||||
|
|
||||||
all clean: %: bootrom/% armsrc/% $(HOST_BINARY)/%
|
|
||||||
|
|
||||||
bootrom/%: FORCE
|
bootrom/%: FORCE
|
||||||
$(MAKE) -C bootrom $(patsubst bootrom/%,%,$@)
|
$(MAKE) -C bootrom $(patsubst bootrom/%,%,$@)
|
||||||
armsrc/%: FORCE
|
armsrc/%: FORCE
|
||||||
$(MAKE) -C armsrc $(patsubst armsrc/%,%,$@)
|
$(MAKE) -C armsrc $(patsubst armsrc/%,%,$@)
|
||||||
linux/%: FORCE
|
client/%: FORCE
|
||||||
$(MAKE) -C linux $(patsubst linux/%,%,$@)
|
$(MAKE) -C client $(patsubst client/%,%,$@)
|
||||||
winsrc/%: FORCE
|
|
||||||
$(MAKE) -C winsrc $(patsubst winsrc/%,%,$@)
|
|
||||||
FORCE: # Dummy target to force remake in the subdirectories, even if files exist (this Makefile doesn't know about the prerequisites)
|
FORCE: # Dummy target to force remake in the subdirectories, even if files exist (this Makefile doesn't know about the prerequisites)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ all: $(OBJDIR)/osimage.s19 $(OBJDIR)/fpgaimage.s19
|
||||||
$(OBJDIR)/fpga.o: fpga.bit
|
$(OBJDIR)/fpga.o: fpga.bit
|
||||||
$(OBJCOPY) -O elf32-littlearm -I binary -B arm --redefine-sym _binary____fpga_fpga_bit_start=_binary_fpga_bit_start --redefine-sym _binary____fpga_fpga_bit_end=_binary_fpga_bit_end --prefix-sections=fpga_bit $^ $@
|
$(OBJCOPY) -O elf32-littlearm -I binary -B arm --redefine-sym _binary____fpga_fpga_bit_start=_binary_fpga_bit_start --redefine-sym _binary____fpga_fpga_bit_end=_binary_fpga_bit_end --prefix-sections=fpga_bit $^ $@
|
||||||
|
|
||||||
$(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga.o $(THUMBOBJ) $(ARMOBJ) $(ARMLIB)/libgcc.a
|
$(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga.o $(THUMBOBJ) $(ARMOBJ) $(LIBGCC)
|
||||||
$(LD) -g -Tldscript -Map=$(patsubst %.elf,%.map,$@) -o $@ $^
|
$(LD) -g -Tldscript -Map=$(patsubst %.elf,%.map,$@) -o $@ $^
|
||||||
|
|
||||||
$(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fullimage.elf
|
$(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fullimage.elf
|
||||||
|
|
|
@ -9,38 +9,6 @@
|
||||||
# (The including Makefile still needs to define what 'all' is)
|
# (The including Makefile still needs to define what 'all' is)
|
||||||
all:
|
all:
|
||||||
|
|
||||||
# Windows' echo echos its input verbatim, on Posix there is some
|
|
||||||
# amount of shell command line parsing going on. echo "" on
|
|
||||||
# Windows yields literal "", on Linux yields an empty line
|
|
||||||
ifeq ($(shell echo ""),)
|
|
||||||
|
|
||||||
# This is probably a proper system, so we can use uname
|
|
||||||
UNAME := $(shell uname)
|
|
||||||
ifeq ($(UNAME), Linux)
|
|
||||||
# Linux. (Todo: Add MacOS X if appropriate)
|
|
||||||
DELETE=rm -rf
|
|
||||||
MOVE=mv
|
|
||||||
COPY=cp
|
|
||||||
PATHSEP=/
|
|
||||||
FLASH_TOOL=linux/flasher
|
|
||||||
DETECTED_OS=Linux
|
|
||||||
# You may/should set this in your environment
|
|
||||||
ARMLIB ?= /usr/local/lib/gcc/arm-elf/4.3.3/interwork
|
|
||||||
endif
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
# Assume that we are running on Windows.
|
|
||||||
DELETE=del /q
|
|
||||||
MOVE=ren
|
|
||||||
COPY=copy
|
|
||||||
PATHSEP=\\#
|
|
||||||
ARMLIB ?= ../../devkitARM/lib/gcc/arm-elf/4.1.0/interwork
|
|
||||||
FLASH_TOOL=winsrc\\prox.exe
|
|
||||||
DETECTED_OS=Windows
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
CROSS = arm-elf-
|
CROSS = arm-elf-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
AS = $(CROSS)as
|
AS = $(CROSS)as
|
||||||
|
@ -51,6 +19,36 @@ OBJDIR = obj
|
||||||
|
|
||||||
INCLUDE = -I../include
|
INCLUDE = -I../include
|
||||||
|
|
||||||
|
# Windows' echo echos its input verbatim, on Posix there is some
|
||||||
|
# amount of shell command line parsing going on. echo "" on
|
||||||
|
# Windows yields literal "", on Linux yields an empty line
|
||||||
|
ifeq ($(shell echo ""),)
|
||||||
|
|
||||||
|
# This is probably a proper system, so we can use uname
|
||||||
|
UNAME := $(shell uname)
|
||||||
|
DELETE=rm -rf
|
||||||
|
MOVE=mv
|
||||||
|
COPY=cp
|
||||||
|
PATHSEP=/
|
||||||
|
FLASH_TOOL=client/flasher
|
||||||
|
DETECTED_OS=UNAME
|
||||||
|
# You may/should set this in your environment
|
||||||
|
LIBGCC ?= $(shell $(CC) -print-libgcc-file-name)
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# Assume that we are running on Windows.
|
||||||
|
DELETE=del /q
|
||||||
|
MOVE=ren
|
||||||
|
COPY=copy
|
||||||
|
PATHSEP=\\#
|
||||||
|
LIBGCC ?= ../../devkitARM/lib/gcc/arm-elf/4.1.0/interwork/libgcc.a
|
||||||
|
FLASH_TOOL=winsrc\\prox.exe
|
||||||
|
DETECTED_OS=Windows
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# Also search prerequisites in the common directory (for usb.c), and the fpga directory (for fpga.bit)
|
# Also search prerequisites in the common directory (for usb.c), and the fpga directory (for fpga.bit)
|
||||||
VPATH = . ../common/ ../fpga/
|
VPATH = . ../common/ ../fpga/
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue