lean2/library/Makefile.common
Leonardo de Moura 2225a2acc5 feat(library/Makefile.common): generate .ilean files
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-14 18:05:48 -07:00

31 lines
803 B
Text

TOP := $(dir $(lastword $(MAKEFILE_LIST)))
DIR = $(shell pwd)
LEAN_FILES = $(shell find $(DIR) -type f -name '*.lean')
OLEAN_FILES = $(LEAN_FILES:.lean=.olean)
DEP_FILES = $(LEAN_FILES:.lean=.d)
LEAN_VERSION_FILE = $(shell dirname $(LEAN))/version
all: $(OLEAN_FILES) $(DEP_FILES)
%.olean: %.lean
@rm -f $@
$(LEAN) $(LEAN_OPTIONS) $< -o $@ -c $(@:.olean=.clean) -i $(@:.olean=.ilean)
%.d: %.lean
@echo Making dependency file \'$@\' ...
@rm -f $@
@rm -f $@.tmp
@$(LEAN) --deps $< > $@.tmp
@printf "$(basename $@).olean : $< $@ " > $@
@tr "\n" " " < $@.tmp >> $@
@rm -f $@.tmp
-include $(LEAN_FILES:.lean=.d)
.PHONY: all clean
clean:
find . -type f -name "*.olean" -delete
find . -type f -name "*.clean" -delete
find . -type f -name "*.ilean" -delete
find . -type f -name "*.d" -delete