diff --git a/Makefile b/Makefile index 122c0bb3c..e6b2f6fbe 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,7 @@ +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= + GZIP=gzip # Windows' echo echos its input verbatim, on Posix there is some # amount of shell command line parsing going on. echo "" on @@ -30,17 +34,23 @@ include common/Makefile.hal all clean: %: client/% bootrom/% armsrc/% recovery/% mfkey/% nonce2key/% mfkey/%: FORCE - $(MAKE) -C tools/mfkey $(patsubst mfkey/%,%,$@) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C tools/mfkey $(patsubst mfkey/%,%,$@) nonce2key/%: FORCE - $(MAKE) -C tools/nonce2key $(patsubst nonce2key/%,%,$@) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C tools/nonce2key $(patsubst nonce2key/%,%,$@) bootrom/%: FORCE cleanifplatformchanged - $(MAKE) -C bootrom $(patsubst bootrom/%,%,$@) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C bootrom $(patsubst bootrom/%,%,$@) armsrc/%: FORCE cleanifplatformchanged - $(MAKE) -C armsrc $(patsubst armsrc/%,%,$@) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C armsrc $(patsubst armsrc/%,%,$@) client/%: FORCE - $(MAKE) -C client $(patsubst client/%,%,$@) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C client $(patsubst client/%,%,$@) recovery/%: FORCE cleanifplatformchanged bootrom/% armsrc/% - $(MAKE) -C recovery $(patsubst recovery/%,%,$@) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C recovery $(patsubst recovery/%,%,$@) FORCE: # Dummy target to force remake in the subdirectories, even if files exist (this Makefile doesn't know about the prerequisites) .PHONY: all clean help _test bootrom flash-bootrom os flash-os flash-all recovery client mfkey nounce2key style checks FORCE udev accessrights cleanifplatformchanged @@ -67,6 +77,7 @@ help: @echo "+ checks - Detect various encoding issues in source code" @echo @echo "Possible platforms: try \"make PLATFORM=\" for more info, default is PM3RDV4" + @echo "To see full command lines, use make Q=" client: client/all @@ -94,18 +105,19 @@ newtarbin: @touch proxmark3-$(platform)-bin.tar tarbin: newtarbin client/tarbin armsrc/tarbin bootrom/tarbin - $(GZIP) proxmark3-$(platform)-bin.tar + $(info GEN proxmark3-$(platform)-bin.tar) + $(Q)$(GZIP) proxmark3-$(platform)-bin.tar # detect if there were changes in the platform definitions, requiring a clean cleanifplatformchanged: ifeq ($(PLATFORM_CHANGED), true) - echo "Platform definitions changed, cleaning bootrom/armsrc/recovery first..." - $(MAKE) -C bootrom clean - $(MAKE) -C armsrc clean - $(MAKE) -C recovery clean - @echo CACHED_PLATFORM=$(PLATFORM) > .Makefile.options.cache - @echo CACHED_PLATFORM_EXTRAS=$(PLATFORM_EXTRAS) >> .Makefile.options.cache - @echo CACHED_PLATFORM_DEFS=$(PLATFORM_DEFS) >> .Makefile.options.cache + $(info [!] Platform definitions changed, cleaning bootrom/armsrc/recovery first...) + $(Q)$(MAKE) --no-print-directory -C bootrom clean + $(Q)$(MAKE) --no-print-directory -C armsrc clean + $(Q)$(MAKE) --no-print-directory -C recovery clean + $(Q)echo CACHED_PLATFORM=$(PLATFORM) > .Makefile.options.cache + $(Q)echo CACHED_PLATFORM_EXTRAS=$(PLATFORM_EXTRAS) >> .Makefile.options.cache + $(Q)echo CACHED_PLATFORM_DEFS=$(PLATFORM_DEFS) >> .Makefile.options.cache endif # configure system to ignore PM3 device as a modem (ModemManager blacklist, effective *only* if ModemManager is not using _strict_ policy) diff --git a/armsrc/Makefile b/armsrc/Makefile index 1c580c005..d55b0e5a7 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -1,4 +1,3 @@ - # This code is licensed to you under the terms of the GNU GPL, version 2 or, # at your option, any later version. See the LICENSE.txt file for the text of # the license. @@ -173,53 +172,66 @@ all: $(OBJS) # version.c should be remade on every time fullimage.stage1.elf should be remade version.c: default_version.c $(OBJDIR)/fpga_version_info.o $(OBJDIR)/fpga_all.o $(THUMBOBJ) $(ARMOBJ) - perl ../tools/mkversion.pl .. > $@ || $(COPY) $^ $@ + $(info [-] GEN $@) + $(Q)perl ../tools/mkversion.pl .. > $@ || $(COPY) $^ $@ fpga_version_info.c: $(FPGA_BITSTREAMS) $(FPGA_COMPRESSOR) - $(FPGA_COMPRESSOR) -v $(filter %.bit,$^) $@ + $(info [-] GEN $@) + $(Q)$(FPGA_COMPRESSOR) -v $(filter %.bit,$^) $@ $(OBJDIR)/fpga_all.o: $(OBJDIR)/fpga_all.bit.z - $(OBJCOPY) -O elf32-littlearm -I binary -B arm --prefix-sections=fpga_all_bit $^ $@ + $(info [-] GEN $@) + $(Q)$(OBJCOPY) -O elf32-littlearm -I binary -B arm --prefix-sections=fpga_all_bit $^ $@ $(OBJDIR)/fpga_all.bit.z: $(FPGA_BITSTREAMS) $(FPGA_COMPRESSOR) - $(FPGA_COMPRESSOR) $(filter %.bit,$^) $@ + $(info [-] GEN $@) + $(Q)$(FPGA_COMPRESSOR) $(filter %.bit,$^) $@ $(FPGA_COMPRESSOR): - $(MAKE) -C ../client $(notdir $(FPGA_COMPRESSOR)) + $(info [*] MAKE $@) + $(Q)$(MAKE) --no-print-directory -C ../client $(notdir $(FPGA_COMPRESSOR)) $(OBJDIR)/fullimage.stage1.elf: $(VERSIONOBJ) $(OBJDIR)/fpga_all.o $(THUMBOBJ) $(ARMOBJ) - $(CC) $(LDFLAGS) -Wl,-T,ldscript,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS) + $(info [=] LD $@) + $(Q)$(CC) $(LDFLAGS) -Wl,-T,ldscript,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS) $(OBJDIR)/fullimage.nodata.bin: $(OBJDIR)/fullimage.stage1.elf - $(OBJCOPY) -O binary -I elf32-littlearm --remove-section .data $^ $@ + $(info [-] GEN $@) + $(Q)$(OBJCOPY) -O binary -I elf32-littlearm --remove-section .data $^ $@ $(OBJDIR)/fullimage.nodata.o: $(OBJDIR)/fullimage.nodata.bin - $(OBJCOPY) -O elf32-littlearm -I binary -B arm --rename-section .data=stage1_image $^ $@ + $(info [-] GEN $@) + $(Q)$(OBJCOPY) -O elf32-littlearm -I binary -B arm --rename-section .data=stage1_image $^ $@ $(OBJDIR)/fullimage.data.bin: $(OBJDIR)/fullimage.stage1.elf - $(OBJCOPY) -O binary -I elf32-littlearm --only-section .data $^ $@ + $(info [-] GEN $@) + $(Q)$(OBJCOPY) -O binary -I elf32-littlearm --only-section .data $^ $@ $(OBJDIR)/fullimage.data.bin.z: $(OBJDIR)/fullimage.data.bin $(FPGA_COMPRESSOR) - $(FPGA_COMPRESSOR) $(filter %.bin,$^) $@ + $(info [-] GEN $@) + $(Q)$(FPGA_COMPRESSOR) $(filter %.bin,$^) $@ $(OBJDIR)/fullimage.data.o: $(OBJDIR)/fullimage.data.bin.z - $(OBJCOPY) -O elf32-littlearm -I binary -B arm --rename-section .data=compressed_data $^ $@ + $(info [-] GEN $@) + $(Q)$(OBJCOPY) -O elf32-littlearm -I binary -B arm --rename-section .data=compressed_data $^ $@ $(OBJDIR)/fullimage.elf: $(OBJDIR)/fullimage.nodata.o $(OBJDIR)/fullimage.data.o - $(CC) $(LDFLAGS) -Wl,-T,ldscript,-e,_osimage_entry,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ + $(info [=] LD $@) + $(Q)$(CC) $(LDFLAGS) -Wl,-T,ldscript,-e,_osimage_entry,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ tarbin: $(OBJS) - $(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(OBJS:%=armsrc/%) $(OBJS:%.s19=armsrc/%.elf) + $(info TAR $@) + $(Q)$(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(OBJS:%=armsrc/%) $(OBJS:%.s19=armsrc/%.elf) clean: - $(DELETE) $(OBJDIR)$(PATHSEP)*.o - $(DELETE) $(OBJDIR)$(PATHSEP)*.elf - $(DELETE) $(OBJDIR)$(PATHSEP)*.s19 - $(DELETE) $(OBJDIR)$(PATHSEP)*.map - $(DELETE) $(OBJDIR)$(PATHSEP)*.d - $(DELETE) $(OBJDIR)$(PATHSEP)*.z - $(DELETE) $(OBJDIR)$(PATHSEP)*.bin - $(DELETE) version.c + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.o + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.elf + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.s19 + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.map + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.d + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.z + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.bin + $(Q)$(DELETE) version.c .PHONY: all clean help help: diff --git a/bootrom/Makefile b/bootrom/Makefile index 9cd8871df..afc4162a7 100644 --- a/bootrom/Makefile +++ b/bootrom/Makefile @@ -35,23 +35,26 @@ OBJS = $(OBJDIR)/bootrom.s19 # version.c should be remade on every compilation version.c: default_version.c - perl ../tools/mkversion.pl .. > $@ || $(COPY) $^ $@ + $(info [=] GEN $@) + $(Q)perl ../tools/mkversion.pl .. > $@ || $(COPY) $^ $@ all: $(OBJS) tarbin: $(OBJS) - $(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(OBJS:%=bootrom/%) $(OBJS:%.s19=bootrom/%.elf) + $(info [=] GEN $@) + $(Q)$(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(OBJS:%=bootrom/%) $(OBJS:%.s19=bootrom/%.elf) $(OBJDIR)/bootrom.elf: $(VERSIONOBJ) $(ASMOBJ) $(ARMOBJ) $(THUMBOBJ) - $(CC) $(LDFLAGS) -Wl,-T,ldscript-flash,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS) + $(info [=] LD $@) + $(Q)$(CC) $(LDFLAGS) -Wl,-T,ldscript-flash,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS) clean: - $(DELETE) $(OBJDIR)$(PATHSEP)*.o - $(DELETE) $(OBJDIR)$(PATHSEP)*.elf - $(DELETE) $(OBJDIR)$(PATHSEP)*.s19 - $(DELETE) $(OBJDIR)$(PATHSEP)*.map - $(DELETE) $(OBJDIR)$(PATHSEP)*.d - $(DELETE) version.c + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.o + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.elf + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.s19 + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.map + $(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.d + $(Q)$(DELETE) version.c .PHONY: all clean help help: diff --git a/client/Makefile b/client/Makefile index 78704b9a2..38a40a835 100644 --- a/client/Makefile +++ b/client/Makefile @@ -9,6 +9,10 @@ # Add -DNOFORCE to disable the -F switch # Add -DPRESETS to compile with preset models (edit config.h) +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= + CC = gcc CXX = g++ LD = g++ @@ -282,53 +286,61 @@ all-static: proxmark3 flasher fpga_compress proxmark3: LDLIBS+=$(LUALIB) $(JANSSONLIB) $(MBEDTLSLIB) $(CBORLIB) $(QTLDLIBS) proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(ZLIBOBJS) lualibs/pm3_cmd.lua lualibs/mf_default_keys.lua - $(LD) $(LDFLAGS) $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(ZLIBOBJS) $(LDLIBS) -o $@ + $(info [=] LD $@) + $(Q)$(LD) $(LDFLAGS) $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(ZLIBOBJS) $(LDLIBS) -o $@ flasher: $(OBJDIR)/flash.o $(OBJDIR)/flasher.o $(COREOBJS) $(OBJCOBJS) - $(LD) $(LDFLAGS) $^ $(LDLIBS) -o $@ + $(info [=] LD $@) + $(Q)$(LD) $(LDFLAGS) $^ $(LDLIBS) -o $@ fpga_compress: $(OBJDIR)/fpga_compress.o $(ZLIBOBJS) - $(LD) $(LDFLAGS) $(ZLIBFLAGS) $^ $(LDLIBS) -o $@ + $(info [=] LD $@) + $(Q)$(LD) $(LDFLAGS) $(ZLIBFLAGS) $^ $(LDLIBS) -o $@ proxgui.cpp: ui/ui_overlays.h proxguiqt.moc.cpp: proxguiqt.h - $(MOC) -o$@ $^ + $(info [-] MOC $@) + $(Q)$(MOC) -o$@ $^ ui/ui_overlays.h: ui/overlays.ui - $(UIC) $^ > $@ + $(info [-] UIC $@) + $(Q)$(UIC) $^ > $@ lualibs/pm3_cmd.lua: ../include/pm3_cmd.h - awk -f pm3_cmd_h2lua.awk $^ > $@ + $(info [=] GEN $@) + $(Q)awk -f pm3_cmd_h2lua.awk $^ > $@ lualibs/mf_default_keys.lua : default_keys.dic - awk -f default_keys_dic2lua.awk $^ > $@ + $(info [=] GEN $@) + $(Q)awk -f default_keys_dic2lua.awk $^ > $@ clean: - $(RM) $(CLEAN) - cd ../liblua && $(MAKE) clean - cd $(JANSSONLIBPATH) && $(MAKE) clean - cd $(MBEDTLSLIBPATH) && $(MAKE) clean - cd $(CBORLIBPATH) && $(MAKE) clean + $(Q)$(RM) $(CLEAN) + $(Q)$(MAKE) --no-print-directory -C ../liblua clean + $(Q)$(MAKE) --no-print-directory -C $(JANSSONLIBPATH) clean + $(Q)$(MAKE) --no-print-directory -C $(MBEDTLSLIBPATH) clean + $(Q)$(MAKE) --no-print-directory -C $(CBORLIBPATH) clean tarbin: $(BINS) - $(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(BINS:%=client/%) $(WINBINS:%=client/%) + $(info [=] TAR ../proxmark3-$(platform)-bin.tar) + $(Q)$(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(BINS:%=client/%) $(WINBINS:%=client/%) lua_build: - @echo Compiling liblua, using platform $(LUAPLATFORM) - cd ../liblua && $(MAKE) $(LUAPLATFORM) + $(info [*] MAKE liblua for $(LUAPLATFORM)) + $(Q)$(MAKE) --no-print-directory -C ../liblua $(LUAPLATFORM) jansson_build: - @echo Compiling jansson - cd $(JANSSONLIBPATH) && $(MAKE) all + $(info [*] MAKE jansson) + $(Q)$(MAKE) --no-print-directory -C $(JANSSONLIBPATH) all mbedtls_build: - @echo Compiling mbedtls - cd $(MBEDTLSLIBPATH) && $(MAKE) all + $(info [*] MAKE mbedtls) + $(Q)$(MAKE) --no-print-directory -C $(MBEDTLSLIBPATH) all cbor_build: - @echo Compiling tinycbor - cd $(CBORLIBPATH) && $(MAKE) all + $(info [*] MAKE tinycbor) + $(Q)$(MAKE) --no-print-directory -C $(CBORLIBPATH) all .PHONY: all clean @@ -336,43 +348,52 @@ cbor_build: print-%: ; @echo $* = $($*) $(OBJDIR)/%_NOSIMD.o : %.c $(OBJDIR)/%_NOSIMD.d - $(CC) $(DEPFLAGS:%.Td=%_NOSIMD.Td) $(CFLAGS) $(HARD_SWITCH_NOSIMD) -c -o $@ $< - $(MV) -f $(OBJDIR)/$*_NOSIMD.Td $(OBJDIR)/$*_NOSIMD.d + $(info [-] CC(NOSIMD) $<) + $(Q)$(CC) $(DEPFLAGS:%.Td=%_NOSIMD.Td) $(CFLAGS) $(HARD_SWITCH_NOSIMD) -c -o $@ $< + $(Q)$(MV) -f $(OBJDIR)/$*_NOSIMD.Td $(OBJDIR)/$*_NOSIMD.d $(OBJDIR)/%_MMX.o : %.c $(OBJDIR)/%_MMX.d - $(CC) $(DEPFLAGS:%.Td=%_MMX.Td) $(CFLAGS) $(HARD_SWITCH_MMX) -c -o $@ $< - $(MV) -f $(OBJDIR)/$*_MMX.Td $(OBJDIR)/$*_MMX.d + $(info [-] CC(MMX) $<) + $(Q)$(CC) $(DEPFLAGS:%.Td=%_MMX.Td) $(CFLAGS) $(HARD_SWITCH_MMX) -c -o $@ $< + $(Q)$(MV) -f $(OBJDIR)/$*_MMX.Td $(OBJDIR)/$*_MMX.d $(OBJDIR)/%_SSE2.o : %.c $(OBJDIR)/%_SSE2.d - $(CC) $(DEPFLAGS:%.Td=%_SSE2.Td) $(CFLAGS) $(HARD_SWITCH_SSE2) -c -o $@ $< - $(MV) -f $(OBJDIR)/$*_SSE2.Td $(OBJDIR)/$*_SSE2.d + $(info [-] CC(SSE2) $<) + $(Q)$(CC) $(DEPFLAGS:%.Td=%_SSE2.Td) $(CFLAGS) $(HARD_SWITCH_SSE2) -c -o $@ $< + $(Q)$(MV) -f $(OBJDIR)/$*_SSE2.Td $(OBJDIR)/$*_SSE2.d $(OBJDIR)/%_AVX.o : %.c $(OBJDIR)/%_AVX.d - $(CC) $(DEPFLAGS:%.Td=%_AVX.Td) $(CFLAGS) $(HARD_SWITCH_AVX) -c -o $@ $< - $(MV) -f $(OBJDIR)/$*_AVX.Td $(OBJDIR)/$*_AVX.d + $(info [-] CC(AVX) $<) + $(Q)$(CC) $(DEPFLAGS:%.Td=%_AVX.Td) $(CFLAGS) $(HARD_SWITCH_AVX) -c -o $@ $< + $(Q)$(MV) -f $(OBJDIR)/$*_AVX.Td $(OBJDIR)/$*_AVX.d $(OBJDIR)/%_AVX2.o : %.c $(OBJDIR)/%_AVX2.d - $(CC) $(DEPFLAGS:%.Td=%_AVX2.Td) $(CFLAGS) $(HARD_SWITCH_AVX2) -c -o $@ $< - $(MV) -f $(OBJDIR)/$*_AVX2.Td $(OBJDIR)/$*_AVX2.d + $(info [-] CC(AVX2) $<) + $(Q)$(CC) $(DEPFLAGS:%.Td=%_AVX2.Td) $(CFLAGS) $(HARD_SWITCH_AVX2) -c -o $@ $< + $(Q)$(MV) -f $(OBJDIR)/$*_AVX2.Td $(OBJDIR)/$*_AVX2.d $(OBJDIR)/%_AVX512.o : %.c $(OBJDIR)/%_AVX512.d - $(CC) $(DEPFLAGS:%.Td=%_AVX512.Td) $(CFLAGS) $(HARD_SWITCH_AVX512) -c -o $@ $< - $(MV) -f $(OBJDIR)/$*_AVX512.Td $(OBJDIR)/$*_AVX512.d + $(info [-] CC(AVX512) $<) + $(Q)$(CC) $(DEPFLAGS:%.Td=%_AVX512.Td) $(CFLAGS) $(HARD_SWITCH_AVX512) -c -o $@ $< + $(Q)$(MV) -f $(OBJDIR)/$*_AVX512.Td $(OBJDIR)/$*_AVX512.d %.o: %.c $(OBJDIR)/%.o : %.c $(OBJDIR)/%.d - $(CC) $(DEPFLAGS) $(CFLAGS) $(ZLIBFLAGS) -c -o $@ $< - $(POSTCOMPILE) + $(info [-] CC $<) + $(Q)$(CC) $(DEPFLAGS) $(CFLAGS) $(ZLIBFLAGS) -c -o $@ $< + $(Q)$(POSTCOMPILE) %.o: %.cpp $(OBJDIR)/%.o : %.cpp $(OBJDIR)/%.d - $(CXX) $(DEPFLAGS) $(CXXFLAGS) $(QTINCLUDES) -c -o $@ $< - $(POSTCOMPILE) + $(info [-] CXX $<) + $(Q)$(CXX) $(DEPFLAGS) $(CXXFLAGS) $(QTINCLUDES) -c -o $@ $< + $(Q)$(POSTCOMPILE) %.o: %.m $(OBJDIR)/%.o : %.m $(OBJDIR)/%.d - $(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $< - $(POSTCOMPILE) + $(info [-] CC $<) + $(Q)$(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $< + $(Q)$(POSTCOMPILE) #$(CMDOBJS) $(COREOBJS): $(notdir $(%.c)) %.d # $(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $< diff --git a/client/jansson/Makefile b/client/jansson/Makefile index 8e138462b..0ef29827a 100644 --- a/client/jansson/Makefile +++ b/client/jansson/Makefile @@ -1,3 +1,6 @@ +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= include_HEADERS = jansson.h nodist_include_HEADERS = jansson_config.h @@ -50,17 +53,19 @@ MYLIBS= MYOBJS= $(LIB_A): $(CMDOBJS) - $(AR) $(LIB_A) $(CMDOBJS) - $(RANLIB) $(LIB_A) + $(info [=] AR $@) + $(Q)$(AR) $(LIB_A) $(CMDOBJS) + $(Q)$(RANLIB) $(LIB_A) all: $(LIB_A) clean: - $(RM) $(CLEAN) - $(RM) $(LIB_A) + $(Q)$(RM) $(CLEAN) + $(Q)$(RM) $(LIB_A) %.o: %.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(CFLAGS) -c -o $@ $< $(LIBS) + $(info [-] CC $<) + $(Q)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(CFLAGS) -c -o $@ $< $(LIBS) .PHONY: all clean diff --git a/client/tinycbor/Makefile b/client/tinycbor/Makefile index 86e356bbd..17f60a49c 100644 --- a/client/tinycbor/Makefile +++ b/client/tinycbor/Makefile @@ -1,3 +1,6 @@ +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= LIB_A = tinycbor.a tinycbor_SOURCES = \ @@ -32,17 +35,19 @@ MYLIBS= MYOBJS= $(LIB_A): $(CMDOBJS) - $(AR) $(LIB_A) $(CMDOBJS) - $(RANLIB) $(LIB_A) + $(info [=] AR $@) + $(Q)$(AR) $(LIB_A) $(CMDOBJS) + $(Q)$(RANLIB) $(LIB_A) all: $(LIB_A) clean: - $(RM) $(CLEAN) - $(RM) $(LIB_A) + $(Q)$(RM) $(CLEAN) + $(Q)$(RM) $(LIB_A) %.o: %.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(CFLAGS) -c -o $@ $< $(LIBS) + $(info [-] CC $<) + $(Q)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(CFLAGS) -c -o $@ $< $(LIBS) .PHONY: all clean diff --git a/common/Makefile.common b/common/Makefile.common index bbdf1d0e4..a743b911b 100644 --- a/common/Makefile.common +++ b/common/Makefile.common @@ -13,6 +13,10 @@ # variables # +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= + # Make sure that all is the default target # (The including Makefile still needs to define what 'all' is) @@ -74,16 +78,20 @@ ASMOBJ = $(patsubst %.s,$(OBJDIR)/%.o,$(notdir $(ASMSRC))) VERSIONOBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(notdir $(VERSIONSRC))) $(THUMBOBJ): $(OBJDIR)/%.o: %.c $(INCLUDES) - $(CC) $(CFLAGS) -mthumb -mthumb-interwork -o $@ $< + $(info [-] CC $<) + $(Q)$(CC) $(CFLAGS) -mthumb -mthumb-interwork -o $@ $< $(ARMOBJ): $(OBJDIR)/%.o: %.c $(INCLUDES) - $(CC) $(CFLAGS) -mthumb-interwork -o $@ $< + $(info [-] CC $<) + $(Q)$(CC) $(CFLAGS) -mthumb-interwork -o $@ $< $(ASMOBJ): $(OBJDIR)/%.o: %.s - $(CC) $(CFLAGS) -mthumb-interwork -o $@ $< + $(info [-] CC $<) + $(Q)$(CC) $(CFLAGS) -mthumb-interwork -o $@ $< $(VERSIONOBJ): $(OBJDIR)/%.o: %.c $(INCLUDES) - $(CC) $(CFLAGS) -mthumb -mthumb-interwork -o $@ $< + $(info [-] CC $<) + $(Q)$(CC) $(CFLAGS) -mthumb -mthumb-interwork -o $@ $< # This objcopy call translates physical flash addresses to logical addresses # without touching start address or RAM addresses (.bss and .data sections) @@ -93,7 +101,8 @@ OBJCOPY_TRANSLATIONS = --no-change-warnings \ --change-section-address .bss+0 --change-section-address .data-0x100000 \ --change-section-address .commonarea+0 $(OBJDIR)/%.s19: $(OBJDIR)/%.elf - $(OBJCOPY) -Osrec --srec-forceS3 --strip-debug $(OBJCOPY_TRANSLATIONS) $^ $@ + $(info [=] GEN $@) + $(Q)$(OBJCOPY) -Osrec --srec-forceS3 --strip-debug $(OBJCOPY_TRANSLATIONS) $^ $@ # easy printing of MAKE VARIABLES print-%: ; @echo $* = $($*) diff --git a/common/mbedtls/Makefile b/common/mbedtls/Makefile index 11bb22f07..485101306 100644 --- a/common/mbedtls/Makefile +++ b/common/mbedtls/Makefile @@ -1,3 +1,6 @@ +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= LIB_A = libmbedtls.a mbedtls_SOURCES = \ @@ -73,17 +76,19 @@ MYLIBS= MYOBJS= $(LIB_A): $(CMDOBJS) - $(AR) $(LIB_A) $(CMDOBJS) - $(RANLIB) $(LIB_A) + $(info [=] AR $@) + $(Q)$(AR) $(LIB_A) $(CMDOBJS) + $(Q)$(RANLIB) $(LIB_A) all: $(LIB_A) clean: - $(RM) $(CLEAN) - $(RM) $(LIB_A) + $(Q)$(RM) $(CLEAN) + $(Q)$(RM) $(LIB_A) %.o: %.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(CFLAGS) -c -o $@ $< $(LIBS) + $(info [-] CC $<) + $(Q)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(CFLAGS) -c -o $@ $< $(LIBS) .PHONY: all clean diff --git a/fpga/Makefile b/fpga/Makefile index 0a30cad29..ba9fec28b 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -2,33 +2,39 @@ include ../common/Makefile.common # for $(DETECTED_OS) all: fpga_lf.bit fpga_hf.bit clean: - $(DELETE) *.bgn *.drc *.ncd *.ngd *_par.xrpt *-placed.* *-placed_pad.* *_usage.xml xst_hf.srp xst_lf.srp - $(DELETE) *.map *.ngc *.xrpt *.pcf *.rbt *_auto_* *.bld *.mrp *.ngm *.unroutes *_summary.xml netlist.lst xst + $(Q)$(DELETE) *.bgn *.drc *.ncd *.ngd *_par.xrpt *-placed.* *-placed_pad.* *_usage.xml xst_hf.srp xst_lf.srp + $(Q)$(DELETE) *.map *.ngc *.xrpt *.pcf *.rbt *_auto_* *.bld *.mrp *.ngm *.unroutes *_summary.xml netlist.lst xst fpga_hf.ngc: fpga_hf.v fpga.ucf xst_hf.scr util.v hi_simulate.v hi_read_tx.v hi_read_rx_xcorr.v hi_iso14443a.v hi_sniffer.v hi_flite.v - $(DELETE) $@ - $(XILINX_TOOLS_PREFIX)xst -ifn xst_hf.scr + $(Q)$(DELETE) $@ + $(info [-] XST $@) + $(Q)$(XILINX_TOOLS_PREFIX)xst -ifn xst_hf.scr fpga_lf.ngc: fpga_lf.v fpga.ucf xst_lf.scr util.v clk_divider.v lo_edge_detect.v lo_read.v lo_passthru.v lp20khz_1MSa_iir_filter.v min_max_tracker.v lf_edge_detect.v - $(DELETE) $@ - $(XILINX_TOOLS_PREFIX)xst -ifn xst_lf.scr + $(Q)$(DELETE) $@ + $(info [-] XST $@) + $(Q)$(XILINX_TOOLS_PREFIX)xst -ifn xst_lf.scr %.ngd: %.ngc - $(DELETE) $@ - $(XILINX_TOOLS_PREFIX)ngdbuild -aul -p xc2s30-5-vq100 -nt timestamp -uc fpga.ucf $< $@ + $(Q)$(DELETE) $@ + $(info [-] NGD $@) + $(Q)$(XILINX_TOOLS_PREFIX)ngdbuild -aul -p xc2s30-5-vq100 -nt timestamp -uc fpga.ucf $< $@ %.ncd: %.ngd - $(DELETE) $@ - $(XILINX_TOOLS_PREFIX)map -p xc2s30-5-vq100 $< + $(Q)$(DELETE) $@ + $(info [-] MAP $@) + $(Q)$(XILINX_TOOLS_PREFIX)map -p xc2s30-5-vq100 $< %-placed.ncd: %.ncd - $(DELETE) $@ - $(XILINX_TOOLS_PREFIX)par $< $@ + $(Q)$(DELETE) $@ + $(info [-] PAR $@) + $(Q)$(XILINX_TOOLS_PREFIX)par $< $@ %.bit: %-placed.ncd - $(DELETE) $@ $*.drc $*.rbt - $(XILINX_TOOLS_PREFIX)bitgen $< $@ + $(Q)$(DELETE) $@ $*.drc $*.rbt + $(info [=] BITGEN $@) + $(Q)$(XILINX_TOOLS_PREFIX)bitgen $< $@ .PHONY: all clean help help: diff --git a/liblua/Makefile b/liblua/Makefile index 89a11e71f..3460c67b5 100644 --- a/liblua/Makefile +++ b/liblua/Makefile @@ -3,6 +3,10 @@ # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= + # Your platform. See PLATS for possible values. PLAT= none @@ -26,6 +30,10 @@ MYOBJS= # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= +%.o: %.c + $(info [-] CC $<) + $(Q)$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris LUA_A= liblua.a @@ -56,20 +64,24 @@ o: $(ALL_O) a: $(ALL_A) $(LUA_A): $(BASE_O) - $(AR) $@ $(BASE_O) - $(RANLIB) $@ + $(info [=] AR $@) + $(Q)$(AR) $@ $(BASE_O) + $(Q)$(RANLIB) $@ $(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + $(info [=] LD $@) + $(Q)$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) $(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + $(info [=] LD $@) + $(Q)$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) clean: - $(RM) $(ALL_T) $(ALL_O) + $(Q)$(RM) $(ALL_T) $(ALL_O) depend: - @$(CC) $(CFLAGS) -MM l*.c + $(info GEN DEPS) + $(Q)$(CC) $(CFLAGS) -MM l*.c echo: @echo "PLAT= $(PLAT)" @@ -89,36 +101,36 @@ none: @echo " $(PLATS)" aix: - $(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" + $(Q)$(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" ansi: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_ANSI" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_ANSI" bsd: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" freebsd: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline" generic: $(ALL) linux: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -ltermcap -lncurses" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -ltermcap -lncurses" macosx: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" mingw: - $(MAKE) "LUA_A=lua52.dll" "LUA_T=lua.exe" \ + $(Q)$(MAKE) "LUA_A=lua52.dll" "LUA_T=lua.exe" \ "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ "SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe - $(MAKE) "LUAC_T=luac.exe" luac.exe + $(Q)$(MAKE) "LUAC_T=luac.exe" luac.exe posix: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX" solaris: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" + $(Q)$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" # list targets that do not create files (but not all makes understand .PHONY) .PHONY: all $(PLATS) default o a clean depend echo none diff --git a/recovery/Makefile b/recovery/Makefile index 7806d14b4..601f93055 100644 --- a/recovery/Makefile +++ b/recovery/Makefile @@ -5,14 +5,17 @@ BINS = bootrom.bin fullimage.bin proxmark3_recovery.bin all: $(BINS) bootrom.bin: ../bootrom/obj/bootrom.elf - $(OBJCOPY) --gap-fill=0xff --pad-to 0x00102000 -O binary $^ $@ + $(info [=] GEN $@) + $(Q)$(OBJCOPY) --gap-fill=0xff --pad-to 0x00102000 -O binary $^ $@ fullimage.bin: ../armsrc/obj/fullimage.elf - $(OBJCOPY) --gap-fill=0xff -O binary $^ $@ + $(info [=] GEN $@) + $(Q)$(OBJCOPY) --gap-fill=0xff -O binary $^ $@ proxmark3_recovery.bin: bootrom.bin fullimage.bin - cat bootrom.bin fullimage.bin > $@ + $(info [=] GEN $@) + $(Q)cat bootrom.bin fullimage.bin > $@ clean: - rm -f $(BINS) + $(Q)rm -f $(BINS) diff --git a/tools/mfkey/Makefile b/tools/mfkey/Makefile index ed245d02d..e54ad1782 100644 --- a/tools/mfkey/Makefile +++ b/tools/mfkey/Makefile @@ -1,3 +1,7 @@ +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= + VPATH = ../../common ../../common/crapto1 ../../client CC = gcc LD = gcc @@ -10,10 +14,12 @@ EXES = mfkey32 mfkey32v2 mfkey64 all: $(OBJS) $(EXES) %.o : %.c - $(CC) $(CFLAGS) -c -o $@ $< + $(info [-] CC $<) + $(Q)$(CC) $(CFLAGS) -c -o $@ $< % : %.c $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $< + $(info [=] LD $@) + $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $< clean: - rm -f $(OBJS) $(EXES) + $(Q)rm -f $(OBJS) $(EXES) diff --git a/tools/nonce2key/Makefile b/tools/nonce2key/Makefile index 44657419a..9335caf6c 100644 --- a/tools/nonce2key/Makefile +++ b/tools/nonce2key/Makefile @@ -1,3 +1,7 @@ +# Hide full compilation line: +Q?=@ +# To see full command lines, use make Q= + CC = gcc CFLAGS = -std=c99 -Wall -O3 -I. LDFLAGS = -std=c99 -Wall @@ -9,15 +13,20 @@ PROG := nonce2key all: $(PROG) $(PROG): $(OBJ) - $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ + $(info [=] LD $@) + $(Q)$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ clean: - @$(RM) $(DEP) $(OBJ) $(PROG) + $(Q)$(RM) $(DEP) $(OBJ) $(PROG) ifneq ($(filter clean,$(MAKECMDGOALS)),clean) -include $(DEP) endif %.d: %.c - $(info GEN $@) - @$(CC) -MM $(CFLAGS) $< | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@ + $(info [-] GEN $@) + $(Q)$(CC) -MM $(CFLAGS) $< | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@ + +%.o: %.c + $(info [-] CC $<) + $(Q)$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<