File: Makefile

package info (click to toggle)
storm-lang 0.7.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,028 kB
  • sloc: ansic: 261,471; cpp: 140,432; sh: 14,891; perl: 9,846; python: 2,525; lisp: 2,504; asm: 860; makefile: 678; pascal: 70; java: 52; xml: 37; awk: 12
file content (78 lines) | stat: -rw-r--r-- 2,257 bytes parent folder | download
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# DESTDIR is the destination directory

# Where to locate shared Storm files.
STORM_SHARED := $(DESTDIR)/usr/lib/storm

# Where to store documentation.
STORM_DOC := $(DESTDIR)/usr/share/doc/storm-lang

# To have a local .mymake configuration file
MYMAKE_CONFIG := mymake.conf
MM := mymake -d INFO --global-config $(MYMAKE_CONFIG)

MM_CONFIG := dist nostatic noskia nocairogl mps

CLEAN_DIRS = $(basename $(wildcard */.mymake))

.PHONY: all install
all:
	rm -f mymake.conf
	$(MM) -j $(or $(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS))),"1") --config

	bash ./update_version.sh

	$(MM) release $(MM_CONFIG) Main
	$(MM) release $(MM_CONFIG) Gui
	$(MM) release $(MM_CONFIG) Crypto
	$(MM) release $(MM_CONFIG) Graphics
	$(MM) release $(MM_CONFIG) Sound
	$(MM) release $(MM_CONFIG) SQL


install:
	mkdir -p $(DESTDIR)/usr/bin
	cp release/Storm_mps $(DESTDIR)/usr/bin/storm
	chmod +x $(DESTDIR)/usr/bin/storm
	cp scripts/progvis $(DESTDIR)/usr/bin
	chmod +x $(DESTDIR)/usr/bin/progvis
	mkdir -p $(STORM_SHARED)
	cp -r root/doc $(STORM_SHARED)
	cp -r root/lang $(STORM_SHARED)
	cp -r root/layout $(STORM_SHARED)
	cp -r root/crypto $(STORM_SHARED)
	cp -r root/graphics $(STORM_SHARED)
	cp -r root/sound $(STORM_SHARED)
	cp -r root/parser $(STORM_SHARED)
	cp -r root/presentation $(STORM_SHARED)
	cp -r root/progvis $(STORM_SHARED)
	cp -r root/sql $(STORM_SHARED)
	cp -r root/test $(STORM_SHARED)
	cp -r root/ui $(STORM_SHARED)
	cp -r root/util $(STORM_SHARED)
	cp -r root/markdown $(STORM_SHARED)
	cp -r root/tutorials $(STORM_SHARED)
	cp -r root/http $(STORM_SHARED)
	cp -r root/json $(STORM_SHARED)
	cp -r root/experimental $(STORM_SHARED)
	bash ./compile_doc.sh $(STORM_DOC)/html
	find $(STORM_SHARED) -name "*.xcf" -exec rm \{\} \;
	find $(STORM_DOC) -name "*.xcf" -exec rm \{\} \;
	bash ./install_icons.sh $(DESTDIR)

clean:
	rm -rf release/ Gc/release_mps/ $(addsuffix release/,$(CLEAN_DIRS))
	for i in $(filter-out Core/%,$(CLEAN_DIRS)); do \
	  if [ -f $${i}Gen/.gitignore ]; then \
	    rm -f $${i}Gen/*; \
	  else \
	    rm -rf $${i}Gen/; \
	  fi \
	done
	rm -f root/doc
	find root/ -name '*_doc' -print0 | xargs -0 rm -f
	find root/ -name '*.so' -print0 | xargs -0 rm -f
	rm -f mymake.conf

test: all
	$(MM) release $(MM_CONFIG) Test
	release/Test_mps --all