.PHONY: all all: setup $(MAKE) -f scripts/makefile .PHONY: examples examples: setup $(MAKE) -f scripts/makefile examples .PHONY: check check: all @echo -n > tests.mk @./scripts/gen-tests $$(echo tests/*.c) $(MAKE) -f tests/makefile check # supported by jit .PHONY: check_linux_amd64 check_linux_amd64: $(MAKE) clean QEMU_LD_PREFIX=/usr/x86_64-linux-gnu \ $(MAKE) ARCH=amd64 CROSS_COMPILE=x86_64-linux-gnu- check .PHONY: check_linux_x86 check_linux_x86: $(MAKE) clean QEMU_LD_PREFIX=/usr/i686-linux-gnu \ $(MAKE) ARCH=x86 CROSS_COMPILE=i686-linux-gnu- check .PHONY: check_linux_aarch64 check_linux_aarch64: $(MAKE) clean QEMU_LD_PREFIX=/usr/aarch64-linux-gnu \ $(MAKE) ARCH=aarch64 CROSS_COMPILE=aarch64-linux-gnu- check .PHONY: check_linux_armhf check_linux_armhf: $(MAKE) clean QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \ $(MAKE) ARCH=armhf CROSS_COMPILE=arm-linux-gnueabihf- check .PHONY: check_linux_powerpc64le check_linux_powerpc64le: $(MAKE) clean QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu \ $(MAKE) ARCH=powerpc64le CROSS_COMPILE=powerpc64le-linux-gnu- check # note: older than revision 6 .PHONY: check_linux_mips64el check_linux_mips64el: $(MAKE) clean QEMU_LD_PREFIX=/usr/mips64el-linux-gnuabi64 \ $(MAKE) ARCH=mips64el CROSS_COMPILE=mips64el-linux-gnuabi64- check .PHONY: check_linux_mipsel check_linux_mipsel: $(MAKE) clean QEMU_LD_PREFIX=/usr/mipsel-linux-gnu \ $(MAKE) ARCH=mipsel CROSS_COMPILE=mipsel-linux-gnu- check # not supported by jit atm .PHONY: check_linux_powerpc64 check_linux_powerpc64: $(MAKE) clean QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu \ $(MAKE) ARCH=powerpc64 CROSS_COMPILE=powerpc64-linux-gnu- check .PHONY: check_linux_powerpc check_linux_powerpc: $(MAKE) clean QEMU_LD_PREFIX=/usr/powerpc-linux-gnu \ $(MAKE) ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- check .PHONY: check_linux_sparc64 check_linux_sparc64: $(MAKE) clean QEMU_LD_PREFIX=/usr/sparc64-linux-gnu \ $(MAKE) ARCH=sparc64 CROSS_COMPILE=sparc64-linux-gnu- check .PHONY: check_linux_riscv64 check_linux_riscv64: $(MAKE) clean QEMU_LD_PREFIX=/usr/riscv64-linux-gnu \ $(MAKE) ARCH=riscv64 CROSS_COMPILE=riscv64-linux-gnu- check .PHONY: check_linux_s390x check_linux_s390x: $(MAKE) clean QEMU_LD_PREFIX=/usr/s390x-linux-gnu \ $(MAKE) ARCH=s390x CROSS_COMPILE=s390x-linux-gnu- check .PHONY: check_linux_alpha check_linux_alpha: $(MAKE) clean QEMU_LD_PREFIX=/usr/alpha-linux-gnu \ $(MAKE) ARCH=alpha CROSS_COMPILE=alpha-linux-gnu- check .PHONY: check_linux_hppa check_linux_hppa: $(MAKE) clean QEMU_LD_PREFIX=/usr/hppa-linux-gnu \ $(MAKE) ARCH=hppa CROSS_COMPILE=hppa-linux-gnu- check .PHONY: check_linux_m68k check_linux_m68k: $(MAKE) clean QEMU_LD_PREFIX=/usr/m68k-linux-gnu \ $(MAKE) ARCH=m68k CROSS_COMPILE=m68k-linux-gnu- check .PHONY: check_linux check_linux: $(MAKE) check_linux_amd64 $(MAKE) check_linux_x86 $(MAKE) check_linux_aarch64 $(MAKE) check_linux_armhf $(MAKE) check_linux_powerpc64le $(MAKE) check_linux_mips64el $(MAKE) check_linux_mipsel $(MAKE) check_linux_powerpc64 $(MAKE) check_linux_powerpc $(MAKE) check_linux_sparc64 $(MAKE) check_linux_riscv64 $(MAKE) check_linux_s390x $(MAKE) check_linux_alpha $(MAKE) check_linux_hppa $(MAKE) check_linux_m68k # compiler+emulator not available or broken #$(MAKE) check_linux_hppa64 #$(MAKE) check_linux_arc #$(MAKE) check_linux_sh4 .DEFAULT: setup $(MAKE) -f scripts/makefile $< .PHONY: setup: @echo -n > deps.mk @./scripts/gen-deps -p EJIT -c COMPILE_EJIT -b ejit "$(EJIT_SOURCES)" CLEANUP := build deps.mk tests.md libejit.a examples/fib examples/loop \ examples/*.d tests/test-* CLEANUP_CMD := EJIT_SOURCES := include src/source.mk .PHONY: format format: find src include tests -iname '*.[ch]' |\ xargs uncrustify -c uncrustify.conf --no-backup -F - .PHONY: license license: find src include -iname '*.[ch]' |\ xargs ./scripts/license .PHONY: docs docs: find src include -iname '*.[ch]' -not -path */gen/* |\ xargs ./scripts/warn-undocumented doxygen docs/doxygen.conf RM = rm .PHONY: clean clean: $(RM) -rf $(CLEANUP) .PHONY: clean_docs clean_docs: $(RM) -rf docs/output .PHONY: clean_all clean_all: clean clean_docs