1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- MAKEFLAGS += -R -r
- PROJECT := max80
- SUBDIRS := esp32 tools rv32 fpga
- REVISIONS := v1 v2 bypass
- GIT_DIR ?= .git
- all clean spotless :
- $(MAKE) local.$@ $(SUBDIRS) goal=$@
- prefpga:
- $(MAKE) local.all $(filter-out fpga,$(SUBDIRS)) goal=all
- $(REVISIONS): prefpga
- $(MAKE) -C fpga $@
- .PHONY: $(SUBDIRS)
- $(SUBDIRS):
- $(MAKE) -C $@ $(goal)
- .PHONY: version.mk
- version.mk:
- if [ -d '$(GIT_DIR)' ]; then \
- TZ=UTC0 git log -n 1 --date=local --abbrev=8 \
- --pretty='format:COMMIT_VERSION=$(PROJECT)-%(describe:abbrev=6)%nCOMMIT_ID=%H%nCOMMIT_MAGIC=0x%h%nCOMMIT_DATE=%cd UTC%n' > $@.tmp ; \
- if cmp -q '$@' '$@.tmp' 2>/dev/null; then \
- rm -f $@.tmp; else mv -f $@.tmp $@; fi \
- fi
- version.h: version.mk
- sed -e 's/^/#define /' -e 's/=/ "/' -e 's/$$/"/' \
- -e '/ COMMIT_MAGIC /s/"//g' < $< > $@
- version.vh: version.mk
- sed -e 's/^/`define /' -e 's/=/ "/' -e 's/$$/"/' \
- -e '/ COMMIT_MAGIC /s/"//g' < $< > $@
- $(SUBDIRS): version.mk
- esp32: version.h
- rv32: version.h | tools
- fpga: version.vh | rv32 esp32
- local.all:
- local.clean:
- rm -f *~ ./\#* \# *.bak *.tmp
- local.spotless: local.clean
- rm -f version.h version.vh
- if [ -d .git ]; then rm -f version.mk; fi
- # Obsolete target, need version
- program flash:
- @echo 'Please specify one of: $(foreach rev,$(REVISIONS),$@-$(rev))' 1>&2
- @false
- # FPGA-specific targets
- program-% flash-%: prefpga
- $(MAKE) -C fpga $@
- # ESP update by USB or serial port
- upload-esp:
- $(MAKE) -C esp32 upload
|