Makefile 2.64 KB
Newer Older
Mikaël Salson's avatar
Mikaël Salson committed
1

Mathieu Giraud's avatar
Mathieu Giraud committed
2
VIDJIL_ALGO_SRC = algo/
3
VIDJIL_BROWSER_SRC = browser/
Mathieu Giraud's avatar
Mathieu Giraud committed
4 5
VIDJIL_SERVER_SRC = server/

6 7
TEE = python tools/tee.py -v

8 9 10
algo:
	$(MAKE) -C algo

11 12
test_browser: unit_browser functional_browser

13 14
test_server: unit_server

15
test_tools_if_python:
16
	@((python tools/check_python_version.py && $(MAKE) test_tools) || (python tools/check_python_version.py || echo "!!! Bad python version, we skip tools tests..."))
17

18
test_tools:
19
	$(MAKE) -C tools/tests
20

21
shouldvdj_generate:
22
	@echo
23
	rm -rf data/gen
24
	mkdir -p data/gen
25
	cd germline ; python generate-recombinations.py --random-deletions 8,4:3,1:5,3 --random-insertions 5,4 -e .01
26 27


28
### Browser tests
29

30
unit_browser:
31
	$(MAKE) -C browser/test unit
32 33

functional_browser:
34
	$(MAKE) -C browser/test functional
35 36

headless_browser:
37
	$(MAKE) -C browser/test headless
38

39
unit_server:
40
	$(MAKE) -C server/ unit
41

42 43 44
functional_server:
	$(MAKE) -C server functional

45 46 47
headless_server:
	$(MAKE) -C server headless

48 49
###

Mathieu Giraud's avatar
Mathieu Giraud committed
50 51 52
data:
	$(MAKE) -C algo/tests/data

53
demo germline browser server: %:
54
	$(MAKE) -C $@
Mikaël Salson's avatar
Mikaël Salson committed
55 56

cleanall: clean
Mathieu Giraud's avatar
Mathieu Giraud committed
57
	$(MAKE) -C algo/tests/data $^
58 59 60
	$(MAKE) -C germline $^
	$(MAKE) -C $(VIDJIL_ALGO_SRC) cleanall
	$(MAKE) -C server cleanall
Mikaël Salson's avatar
Mikaël Salson committed
61

62
.PHONY: all test should clean cleanall distrib data demo germline unit_coverage should_coverage coverage data germline browser server doc algo
Mikaël Salson's avatar
Mikaël Salson committed
63

64

Mikaël Salson's avatar
Mikaël Salson committed
65

66 67 68 69 70 71
# Browser
RELEASE_JS = $(VIDJIL_BROWSER_SRC)/js/release.js
RELEASE_BROWSER_ARCHIVE = vidjil-browser-$(RELEASE_TAG).tgz
DIST_BROWSER_DIR=vidjil-browser-$(RELEASE_TAG)
TEST_FILES_BROWSER= Makefile $(VIDJIL_BROWSER_SRC)/test/Makefile $(wildcard $(VIDJIL_BROWSER_SRC)/test/*.rb) $(wildcard $(VIDJIL_BROWSER_SRC)/test/QUnit/*)  $(wildcard $(VIDJIL_BROWSER_SRC)/test/QUnit/testFiles/*.js)
RELEASE_FILES_BROWSER=$(TEST_FILES_BROWSER) $(wildcard $(VIDJIL_BROWSER_SRC)/*.html) $(wildcard $(VIDJIL_BROWSER_SRC)/js/*.js) $(wildcard $(VIDJIL_BROWSER_SRC)/js/lib/*.js) $(wildcard $(VIDJIL_BROWSER_SRC)/css/*.css) 
Mikaël Salson's avatar
Mikaël Salson committed
72 73


74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
release_browser:
	$(info ==== Browser Release $(RELEASE_TAG) ====)

	# Tag the release
	if test "$(RELEASE_TAG)" != "notag"; then \
		git tag -f release-$(RELEASE_TAG); \
		echo 'RELEASE_TAG = "$(RELEASE_TAG)"' > $(RELEASE_JS); \
	fi

	mkdir -p release 
	rm -rf release/$(RELEASE_BROWSER_ARCHIVE) release/$(DIST_BROWSER_DIR)
	mkdir -p release/$(DIST_BROWSER_DIR)
	for file in  $(RELEASE_FILES_BROWSER); do\
		dir=release/$(DIST_BROWSER_DIR)/`dirname "$$file"`;	\
		mkdir -p $$dir;	\
		cp "$$file" $$dir;	\
	done
	cd release && tar cvzf  $(RELEASE_BROWSER_ARCHIVE) $(DIST_BROWSER_DIR) \
	&& rm -rf $(DIST_BROWSER_DIR)

	# Untag the source
	rm -f $(RELEASE_JS) ; touch $(RELEASE_JS)

	# Check archive
	cd release && tar xvfz $(RELEASE_BROWSER_ARCHIVE)
99
	cd release/$(DIST_BROWSER_DIR) && $(MAKE) unit_browser
100 101


Mikaël Salson's avatar
Mikaël Salson committed
102