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
|