30 lines
714 B
Makefile
30 lines
714 B
Makefile
# Copyright (c) 2018 Simon Hudon. All rights reserved.
|
|
# Released under Apache 2.0 license as described in the file LICENSE.
|
|
# Authors: Simon Hudon, Sebastian Ullrich
|
|
LEAN = ../bin/lean
|
|
SRCS = $(shell find . -name '*.lean')
|
|
OBJS = $(SRCS:.lean=.olean)
|
|
DEPS = $(SRCS:.lean=.depend)
|
|
OPTS = @LEAN_EXTRA_MAKE_OPTS@
|
|
|
|
.PHONY: all clean
|
|
|
|
all: $(OBJS)
|
|
|
|
depends: $(DEPS)
|
|
|
|
%.depend: %.lean
|
|
@echo $(<:.lean=.olean): `$(LEAN) --deps $< | python relative.py` > $@
|
|
|
|
%.olean: %.lean %.depend
|
|
$(LEAN) $(OPTS) --make $<
|
|
# make sure the .olean file is newer than the .depend file to prevent infinite make cycles
|
|
@touch $@
|
|
|
|
clean:
|
|
find . -name *.olean -delete
|
|
find . -name *.depend -delete
|
|
|
|
.PRECIOUS: %.depend
|
|
|
|
include $(DEPS)
|