1 | # hello.mk: For the demo hello app.
|
2 |
|
3 | # C module dependencies
|
4 | -include _build/hello/ovm.d
|
5 |
|
6 | # What Python module to run.
|
7 | _build/hello/main_name.c:
|
8 | $(ACTIONS_SH) main-name hello hello.ovm > $@
|
9 |
|
10 | # for typing module
|
11 | HELLO_PYPATH := $(REPO_ROOT)/build/testdata:$(REPO_ROOT)/vendor
|
12 |
|
13 | # Dependencies calculated by importing main. The guard is because ovm.d
|
14 | # depends on it. Is that correct? We'll skip it before 'make dirs'.
|
15 | _build/hello/app-deps-%.txt: $(HELLO_SRCS) \
|
16 | _build/detected-config.sh build/dynamic_deps.py
|
17 | test -d _build/hello && \
|
18 | $(ACTIONS_SH) app-deps hello $(HELLO_PYPATH) hello
|
19 |
|
20 | _build/hello/py-to-compile.txt: \
|
21 | _build/detected-config.sh build/dynamic_deps.py
|
22 | test -d _build/hello && \
|
23 | $(ACTIONS_SH) py-to-compile $(HELLO_PYPATH) hello > $@
|
24 |
|
25 | # NOTE: We could use src/dest paths pattern instead of _build/app?
|
26 | #
|
27 | # TODO:
|
28 | # - Deps need to be better. Depend on .pyc and .py. I guess
|
29 | # app-deps hello will compile the .pyc files. Don't need a separate action.
|
30 | # %.pyc : %py
|
31 |
|
32 | HELLO_BYTECODE_DEPS := \
|
33 | build/testdata/hello-version.txt \
|
34 | _build/release-date.txt \
|
35 | build/testdata/hello-manifest.txt
|
36 |
|
37 | _build/hello/bytecode-cpython.zip: $(HELLO_SRCS) $(HELLO_BYTECODE_DEPS) \
|
38 | _build/hello/app-deps-cpython.txt
|
39 | { echo 'build/testdata/hello-version.txt hello-version.txt'; \
|
40 | echo '_build/release-date.txt release-date.txt'; \
|
41 | cat build/testdata/hello-manifest.txt \
|
42 | _build/hello/app-deps-cpython.txt \
|
43 | } | build/make_zip.py $@
|
44 |
|
45 | _build/hello/bytecode-opy.zip: $(HELLO_SRCS) $(HELLO_BYTECODE_DEPS) \
|
46 | _build/hello/opy-app-deps.txt
|
47 | { echo 'build/testdata/hello-version.txt hello-version.txt'; \
|
48 | echo '_build/release-date.txt release-date.txt'; \
|
49 | cat build/testdata/hello-manifest.txt \
|
50 | _build/hello/opy-app-deps.txt; \
|
51 | } | build/make_zip.py $@
|