2014-06-28 18:32:44 -07:00
|
|
|
TOP := $(dir $(lastword $(MAKEFILE_LIST)))
|
2014-08-02 19:47:55 -07:00
|
|
|
DIR = $(shell pwd)
|
|
|
|
LEAN_FILES = $(shell find $(DIR) -type f -name '*.lean')
|
2014-06-28 18:32:44 -07:00
|
|
|
OLEAN_FILES = $(LEAN_FILES:.lean=.olean)
|
2014-08-01 09:08:16 -07:00
|
|
|
DEP_FILES = $(LEAN_FILES:.lean=.d)
|
2014-08-14 15:44:08 -07:00
|
|
|
LEAN_VERSION_FILE = $(shell dirname $(LEAN))/version
|
2014-06-28 18:32:44 -07:00
|
|
|
|
2014-08-01 09:08:16 -07:00
|
|
|
all: $(OLEAN_FILES) $(DEP_FILES)
|
2014-06-28 18:32:44 -07:00
|
|
|
|
2014-08-14 18:21:19 -07:00
|
|
|
%.olean: %.lean $(LEAN_VERSION_FILE)
|
2014-08-04 13:55:53 -07:00
|
|
|
@rm -f $@
|
2014-08-14 18:02:36 -07:00
|
|
|
$(LEAN) $(LEAN_OPTIONS) $< -o $@ -c $(@:.olean=.clean) -i $(@:.olean=.ilean)
|
2014-06-28 18:32:44 -07:00
|
|
|
|
2014-08-14 18:21:19 -07:00
|
|
|
%.d: %.lean $(LEAN_VERSION_FILE)
|
2014-08-01 09:08:16 -07:00
|
|
|
@echo Making dependency file \'$@\' ...
|
2014-08-04 13:55:53 -07:00
|
|
|
@rm -f $@
|
|
|
|
@rm -f $@.tmp
|
|
|
|
@$(LEAN) --deps $< > $@.tmp
|
2014-08-01 10:21:17 -07:00
|
|
|
@printf "$(basename $@).olean : $< $@ " > $@
|
2014-08-04 13:55:53 -07:00
|
|
|
@tr "\n" " " < $@.tmp >> $@
|
|
|
|
@rm -f $@.tmp
|
2014-08-01 09:08:16 -07:00
|
|
|
|
2014-08-01 10:11:01 -07:00
|
|
|
-include $(LEAN_FILES:.lean=.d)
|
2014-08-01 09:08:16 -07:00
|
|
|
|
2014-06-28 18:32:44 -07:00
|
|
|
.PHONY: all clean
|
|
|
|
|
|
|
|
clean:
|
2014-08-04 11:44:17 -07:00
|
|
|
find . -type f -name "*.olean" -delete
|
2014-08-10 11:20:08 -07:00
|
|
|
find . -type f -name "*.clean" -delete
|
2014-08-14 18:02:36 -07:00
|
|
|
find . -type f -name "*.ilean" -delete
|
2014-08-04 11:44:17 -07:00
|
|
|
find . -type f -name "*.d" -delete
|