-
Notifications
You must be signed in to change notification settings - Fork 159
Expand file tree
/
Copy pathMakefile
More file actions
39 lines (31 loc) · 1.52 KB
/
Makefile
File metadata and controls
39 lines (31 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
rwildcard = $(foreach d,$(wildcard $1*),\
$(call rwildcard,$d/,$2) \
$(filter $(subst *,%,$2),$d))
WEB_SOURCE_FILES := $(call rwildcard,drakrun/web/frontend/src/,*.js) $(call rwildcard,drakrun/web/frontend/src/,*.jsx) $(call rwildcard,drakrun/web/frontend/src/,*.css)
PYTHON_SOURCE_FILES := $(call rwildcard,drakrun/,*.py) drakrun/data pyproject.toml MANIFEST.in requirements.txt setup.py
.PHONY: all
all: dist/*.whl
dist/*.whl: $(PYTHON_SOURCE_FILES) drakrun/web/frontend/dist drakrun/tools/get-explorer-pid drakrun/tools/drakshell/drakshell
rm -f dist/*.whl
ifndef DIST
DRAKRUN_VERSION_TAG=$(shell git rev-parse --short HEAD) python3 setup.py bdist_wheel
else
python3 setup.py bdist_wheel
endif
drakrun/web/frontend/dist: drakrun/web/frontend/node_modules $(WEB_SOURCE_FILES) drakrun/web/frontend/vite.config.js drakrun/web/frontend/index.html
cd drakrun/web/frontend ; npm run build
drakrun/web/frontend/node_modules: drakrun/web/frontend/package.json drakrun/web/frontend/package-lock.json
cd drakrun/web/frontend ; npm ci
drakrun/tools/get-explorer-pid: drakrun/tools/get-explorer-pid.c
gcc $< -o $@ -lvmi `pkg-config --cflags --libs glib-2.0`
drakrun/tools/drakshell/drakshell:
$(MAKE) -C drakrun/tools/drakshell
.PHONY: clean
clean:
rm -rf dist drakvuf_sandbox.egg-info build
rm -rf drakrun/web/frontend/dist drakrun/web/frontend/node_modules
rm -f drakrun/tools/get-explorer-pid drakrun/tools/test-altp2m
rm -f drakrun/tools/drakshell/drakshell
.PHONY: install
install: all
pip install dist/*.whl