feat(build): add Makefile for libraries
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
65c63e146f
commit
5a7e198583
4 changed files with 43 additions and 0 deletions
25
library/Makefile.common
Normal file
25
library/Makefile.common
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
TOP := $(dir $(lastword $(MAKEFILE_LIST)))
|
||||||
|
EXTRACT_DEPS = $(TOP)/extract_deps
|
||||||
|
LEAN_FILES = $(wildcard *.lean)
|
||||||
|
OLEAN_FILES = $(LEAN_FILES:.lean=.olean)
|
||||||
|
DEPS = make.deps
|
||||||
|
|
||||||
|
all: $(OLEAN_FILES) $(DEPS)
|
||||||
|
|
||||||
|
%.olean: %.lean
|
||||||
|
$(LEAN) $< -o $@
|
||||||
|
|
||||||
|
%.olean: %.lua
|
||||||
|
$(LEAN) $< -o $@
|
||||||
|
|
||||||
|
.PHONY: all clean
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f *.olean $(DEPS)
|
||||||
|
|
||||||
|
$(DEPS): $(LEAN_FILES)
|
||||||
|
LEAN=$(LEAN) $(EXTRACT_DEPS) $(LEAN_FILES) > make.deps
|
||||||
|
|
||||||
|
ifneq ($(MAKECMDGOALS),clean)
|
||||||
|
-include $(DEPS)
|
||||||
|
endif
|
10
library/extract_deps
Executable file
10
library/extract_deps
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
for LEANFILE in $@; do
|
||||||
|
OLEANFILE=${LEANFILE//.lean/.olean}
|
||||||
|
DEPS=`$LEAN --deps $LEANFILE | cut -d ' ' -f 2- | tr "\n" " "`
|
||||||
|
echo -n "$OLEANFILE:"
|
||||||
|
for DEP in $DEPS; do
|
||||||
|
echo -n " ${DEP}"
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
done
|
1
library/standard/Makefile
Normal file
1
library/standard/Makefile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
include ../Makefile.common
|
|
@ -270,3 +270,10 @@ file(GLOB_RECURSE LEAN_SOURCES
|
||||||
${LEAN_SOURCE_DIR}/[A-Za-z]*.h)
|
${LEAN_SOURCE_DIR}/[A-Za-z]*.h)
|
||||||
add_style_check_target(style "${LEAN_SOURCES}")
|
add_style_check_target(style "${LEAN_SOURCES}")
|
||||||
add_test(NAME style_check COMMAND ${LEAN_SOURCE_DIR}/cmake/Modules/cpplint.py ${LEAN_SOURCES})
|
add_test(NAME style_check COMMAND ${LEAN_SOURCE_DIR}/cmake/Modules/cpplint.py ${LEAN_SOURCES})
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
standard_lib ALL
|
||||||
|
COMMAND make LEAN=${CMAKE_BINARY_DIR}/shell/lean
|
||||||
|
DEPENDS ${CMAKE_BINARY_DIR}/shell/lean
|
||||||
|
WORKING_DIRECTORY ${LEAN_SOURCE_DIR}/../library/standard
|
||||||
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue