dwarf-synthesis/Makefile

54 lines
1.3 KiB
Makefile

OCAMLBUILD=bapbuild -no-hygiene
BAPBUNDLE=bapbundle
ROOT_MODULE=dwarfsynth
TARBALL=dwarfsynth.tar.gz
LIBDWARFW_SO=libdwarfw/build/libdwarfw.so
LIBDWARFW_SO_MESON=libdwarfw/build/build.ninja
all: install ml_dwarf_write.bin
.PHONY: ml_dwarf_write.bin
ml_dwarf_write.bin: $(LIBDWARFW_SO)
$(MAKE) -C DwarfSynth/c_bindings
ln -fs DwarfSynth/c_bindings/ml_dwarf_write.bin .
.PHONY: $(LIBDWARFW_SO)
$(LIBDWARFW_SO):
cd libdwarfw && test -d build || meson build
ninja -C libdwarfw/build
.PHONY: $(ROOT_MODULE).plugin
$(ROOT_MODULE).plugin:
$(OCAMLBUILD) $(ROOT_MODULE).plugin
###############################################################################
.PHONY: install
install: $(ROOT_MODULE).plugin
$(BAPBUNDLE) install $<
###############################################################################
.PHONY: clean
clean:
rm -rf _build
###############################################################################
tarball: $(TARBALL)
.PHONY: $(TARBALL)
$(TARBALL):
tar czf $(TARBALL) \
--exclude=.git \
--exclude=.gitignore \
--exclude=libdwarfw/build \
--exclude-backups \
--exclude=*.bck \
--exclude=*.bin \
--exclude=*.o \
--exclude=*.cmi \
--exclude=*.cmx \
--transform='s#^#dwarfsynth/#g' \
csmith DwarfSynth dwarfsynth.ml DwarfSynth.mlpack HEURISTICS.md \
libdwarfw LICENSE Makefile README.md synthesize_dwarf.sh _tags \
testsuite