X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Makefile;h=961fc51bec3a7df6d5ffbe622dca8d6c1167f0f6;hb=0bf9b6554e1a129b4d3acecc8fc58589081547de;hp=f40c1db57fc52373357074bba15df36f63c4b381;hpb=2f570c9fab30a41767b20607bb3e01d102f12fec;p=myslice.git diff --git a/Makefile b/Makefile index f40c1db5..961fc51b 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +SHELL = /bin/bash + MAKE-SILENT = $(MAKE) --no-print-directory ### first purpose, build and install from the specfile @@ -21,54 +23,62 @@ install: --install-data=$(DESTDIR)/$(datadir)/myslice -#################### compute emacs tags -# list files under git but exclude third-party stuff like bootstrap and jquery -myfiles: force - @git ls-files | egrep -v 'insert(_|-)above|/third-party/|/play/' - -# in general it's right to rely on the contents as reported by git -tags: force - $(MAKE-SILENT) myfiles | xargs etags - -# however sometimes we have stuff not yet added, so in this case -ftags: force - find . -type f | fgrep -v '/.git/' | xargs etags - #################### third-party layout is kind of special -# because we have differents versions and all +# because we have differents versions, and also we +# try to preserve the file structure from upstream +# so let's handle this manually THIRD-PARTY-RESOURCES = # ignore variants, use the main symlink third-party/bootstrap THIRD-PARTY-RESOURCES += $(shell ls third-party/bootstrap/*/*) # just the single js as identified with a symlink THIRD-PARTY-RESOURCES += $(shell ls third-party/datatables/js/dataTables.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/datatables/js/dataTables.bootstrap.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/datatables/css/dataTables.bootstrap.css) # likewise THIRD-PARTY-RESOURCES += $(shell ls third-party/jquery/js/jquery.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/jquery/js/jquery.min.js) +# for storing the visible status of plugins +THIRD-PARTY-RESOURCES += $(shell ls third-party/jquery-html5storage/jquery.html5storage.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/jquery-html5storage/jquery.html5storage.min.js) # spin comes in plain or min, + the jquery plugin, and our own settings THIRD-PARTY-RESOURCES += $(shell ls third-party/spin/*.js) +# used in QueryCode +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/scripts/shCore.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/scripts/shAutoloader.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/scripts/shBrushPython.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/scripts/shBrushRuby.js) +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/styles/shCore.css) +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/styles/shCoreDefault.css) +THIRD-PARTY-RESOURCES += $(shell ls third-party/syntaxhighlighter/styles/shThemeDefault.css) + thirdparty-js: @find $(THIRD-PARTY-RESOURCES) -name '*.js' thirdparty-css: @find $(THIRD-PARTY-RESOURCES) -name '*.css' thirdparty-img: - @find $(THIRD-PARTY-RESOURCES) -name '*.png' + @find $(THIRD-PARTY-RESOURCES) -name '*.png' -o -name '*.ico' -# we might have any of these as templates - e.g. ./engine/templates/plugin-setenv.js +# we might have any of these as templates - e.g. ./unfold/templates/plugin-init.js # so if there's a /templates/ in the path ignore the file -other-js: force +local-js: force @find . -type f -name '*.js' | egrep -v '/all-(static|templates)/|/third-party/|/templates/' -other-css: force +local-css: force @find . -type f -name '*.css' | egrep -v 'all-(static|templates)/|/third-party/|/templates/' -other-img: force - @find . -type f -name '*.png' | egrep -v 'all-(static|templates)/|/third-party/|/templates/' +local-img: force + @find . -type f -name '*.png' -o -name '*.ico' | egrep -v 'all-(static|templates)/|/third-party/|/templates/' -list-js: thirdparty-js other-js -list-css: thirdparty-css other-css -list-img: thirdparty-img other-img +list-js: thirdparty-js local-js +list-css: thirdparty-css local-css +list-img: thirdparty-img local-img # having templates in a templates/ subdir is fine most of the time except for plugins -list-templates: force +plugins-templates: force @find plugins -type f -name '*.html' +local-templates: force + @$(foreach tmpl,$(shell find . -name templates),ls -1 $(tmpl)/*;) + +list-templates: plugins-templates local-templates #################### manage static contents (extract from all the modules into the single all-static location) static run-static static-run: force @@ -76,9 +86,6 @@ static run-static static-run: force ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-js),../../$(x)) ./all-static/js ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-css),../../$(x)) ./all-static/css ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-img),../../$(x)) ./all-static/img -# rsync -av $(shell $(MAKE-SILENT) list-js) ./all-static/js -# rsync -av $(shell $(MAKE-SILENT) list-css) ./all-static/css -# rsync -av $(shell $(MAKE-SILENT) list-img) ./all-static/img clean-static static-clean: force rm -rf ./all-static @@ -89,7 +96,6 @@ all-static: clean-static run-static templates run-templates templates-run: force mkdir -p all-templates ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-templates),../$(x)) ./all-templates -# rsync -av $(shell $(MAKE-SILENT) list-templates) ./all-templates clean-templates templates-clean: force rm -rf ./all-templates @@ -99,6 +105,19 @@ all-templates: clean-templates run-templates #################### list-all list-resources: list-templates list-js list-css list-img +#################### compute emacs tags +# list files under git but exclude third-party stuff like bootstrap and jquery +myfiles: force + @git ls-files | egrep -v 'insert(_|-)above|third-party/|play/' + +# in general it's right to rely on the contents as reported by git +tags: force + $(MAKE-SILENT) myfiles | xargs etags + +# however sometimes we have stuff not yet added, so in this case +ftags: force + find . -type f | fgrep -v '/.git/' | xargs etags + #################### sync : push current code on a (devel) box running myslice SSHURL:=root@$(MYSLICEBOX):/ SSHCOMMAND:=ssh root@$(MYSLICEBOX) @@ -106,7 +125,7 @@ SSHCOMMAND:=ssh root@$(MYSLICEBOX) ### rsync options # the config file should probably not be overridden ?? # --exclude settings.py -LOCAL_RSYNC_EXCLUDES := --exclude '*.pyc' --exclude config.py --exclude all-static --exclude all-templates --exclude '*.sqlite3' +LOCAL_RSYNC_EXCLUDES := --exclude '*.pyc' --exclude config.py --exclude all-static --exclude all-templates --exclude '*.sqlite3' --exclude play/ # usual excludes RSYNC_EXCLUDES := --exclude .git --exclude '*~' --exclude TAGS --exclude .DS_Store $(LOCAL_RSYNC_EXCLUDES) # make -n will propagate as rsync -n