mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
Cleaner makefile execution, use 'make Q=' if you want to see full lines
This commit is contained in:
parent
3bf26f2808
commit
8c0cd4cfa2
13 changed files with 253 additions and 145 deletions
40
Makefile
40
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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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 $@ $<
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 $* = $($*)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 $@ $<
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue