| 1 | |
| 2 | # $Id: Makefile,v 1.5 2004/11/25 20:18:39 x99laine Exp $ |
| 3 | ################################################################################ |
| 4 | # definitions |
| 5 | |
| 6 | VERSNUM := $(shell grep VERSION ChangeLog | head -1 | sed -e "s/VERSION //;s/ .*//") |
| 7 | VERSTAG := $(shell grep VERSION ChangeLog | head -1 | grep 'XX' > /dev/null 2> /dev/null && echo 'beta') |
| 8 | BANANA := $(shell ( [ -d ../banana ] && echo `pwd`"/../banana" ) || echo "/home/web/dev/banana") |
| 9 | |
| 10 | VERSION = $(VERSNUM)$(VERSTAG) |
| 11 | |
| 12 | PKG_NAME = platal |
| 13 | PKG_DIST = $(PKG_NAME)-$(VERSION) |
| 14 | PKG_FILES = AUTHORS ChangeLog COPYING README Makefile |
| 15 | PKG_DIRS = configs htdocs include install.d plugins po scripts templates upgrade |
| 16 | |
| 17 | VCS_FILTER = ! -name .arch-ids ! -name CVS |
| 18 | |
| 19 | define download |
| 20 | @echo "Downloading $@ from $(DOWNLOAD_SRC)" |
| 21 | wget $(DOWNLOAD_SRC) -O $@ -q || ($(RM) $@; exit 1) |
| 22 | endef |
| 23 | |
| 24 | ################################################################################ |
| 25 | # global targets |
| 26 | |
| 27 | all: build |
| 28 | |
| 29 | build: core banana wiki medals jquery |
| 30 | |
| 31 | q: |
| 32 | @echo -e "Code statistics\n" |
| 33 | @sloccount $(filter-out wiki/ spool/, $(wildcard */)) 2> /dev/null | egrep '^[a-z]*:' |
| 34 | |
| 35 | %: %.in Makefile ChangeLog |
| 36 | sed -e 's,@VERSION@,$(VERSION),g' $< > $@ |
| 37 | |
| 38 | ################################################################################ |
| 39 | # targets |
| 40 | |
| 41 | ## |
| 42 | ## core |
| 43 | ## |
| 44 | |
| 45 | core: spool/templates_c spool/mails_c include/globals.inc.php configs/platal.cron htdocs/.htaccess spool/conf spool/tmp |
| 46 | |
| 47 | spool/templates_c spool/mails_c spool/uploads spool/conf spool/tmp: |
| 48 | mkdir -p $@ |
| 49 | chmod o+w $@ |
| 50 | |
| 51 | htdocs/.htaccess: htdocs/.htaccess.in Makefile |
| 52 | @REWRITE_BASE="/~$$(id -un)"; \ |
| 53 | test "$$REWRITE_BASE" = "/~web" && REWRITE_BASE="/"; \ |
| 54 | sed -e "s,@REWRITE_BASE@,$$REWRITE_BASE,g" $< > $@ |
| 55 | |
| 56 | ## |
| 57 | ## wiki |
| 58 | ## |
| 59 | |
| 60 | WIKI_NEEDS = \ |
| 61 | wiki/local/farmconfig.php \ |
| 62 | wiki/pub/skins/empty \ |
| 63 | wiki/cookbook/e-protect.php \ |
| 64 | spool/wiki.d \ |
| 65 | htdocs/uploads \ |
| 66 | htdocs/wiki \ |
| 67 | |
| 68 | wiki: get-wiki build-wiki |
| 69 | |
| 70 | build-wiki: $(WIKI_NEEDS) | get-wiki |
| 71 | |
| 72 | htdocs/uploads: |
| 73 | cd htdocs && ln -sf ../spool/uploads |
| 74 | |
| 75 | htdocs/wiki: |
| 76 | cd htdocs && ln -sf ../wiki/pub wiki |
| 77 | |
| 78 | |
| 79 | spool/wiki.d: |
| 80 | mkdir -p $@ |
| 81 | chmod o+w $@ |
| 82 | cd $@ && ln -sf ../../include/wiki/wiki.d/* . |
| 83 | |
| 84 | |
| 85 | wiki/cookbook/e-protect.php: |
| 86 | cd wiki/cookbook && ln -sf ../../include/wiki/e-protect.php |
| 87 | |
| 88 | wiki/local/farmconfig.php: |
| 89 | cd wiki/local/ && ln -sf ../../include/wiki/farmconfig.php |
| 90 | |
| 91 | wiki/pub/skins/empty: |
| 92 | cd wiki/pub/skins/ && ln -sf ../../../include/wiki/empty |
| 93 | |
| 94 | |
| 95 | get-wiki: |
| 96 | @if ! test -d wiki; then \ |
| 97 | wget http://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz; \ |
| 98 | tar -xzvf pmwiki-latest.tgz; \ |
| 99 | rm pmwiki-latest.tgz; \ |
| 100 | mv pmwiki-* wiki; \ |
| 101 | fi |
| 102 | |
| 103 | ## |
| 104 | ## banana |
| 105 | ## |
| 106 | |
| 107 | banana: htdocs/images/banana htdocs/css/banana.css include/banana/banana.inc.php |
| 108 | htdocs/images/banana: |
| 109 | cd $(@D) && ln -snf $(BANANA)/img $(@F) |
| 110 | |
| 111 | htdocs/css/banana.css: |
| 112 | cd $(@D) && ln -snf $(BANANA)/css/style.css $(@F) |
| 113 | |
| 114 | include/banana/banana.inc.php: |
| 115 | cd $(@D) && find $(BANANA)/banana/ -name '*.php' -exec ln -snf {} . ";" |
| 116 | |
| 117 | ## |
| 118 | ## Medal thumbnails |
| 119 | ## |
| 120 | MEDAL_PICTURES=$(wildcard htdocs/images/medals/*.jpg) |
| 121 | MEDAL_THUMBNAILS=$(subst /medals/,/medals/thumb/,$(MEDAL_PICTURES)) |
| 122 | |
| 123 | medals: $(MEDAL_THUMBNAILS) |
| 124 | |
| 125 | $(MEDAL_THUMBNAILS): $(subst /medals/thumb/,/medals/,$(@F)) |
| 126 | convert -resize x50 $(subst /medals/thumb/,/medals/,$@) $@ |
| 127 | |
| 128 | ## |
| 129 | ## jquery |
| 130 | ## |
| 131 | |
| 132 | JQUERY_PLUGINS=color |
| 133 | JQUERY_PLUGINS_PATHES=$(addprefix htdocs/javascript/jquery.,$(addsuffix .js,$(JQUERY_PLUGINS))) |
| 134 | |
| 135 | jquery: htdocs/javascript/jquery.js htdocs/javascript/jquery.autocomplete.js $(JQUERY_PLUGINS_PATHES) |
| 136 | |
| 137 | htdocs/javascript/jquery.js: DOWNLOAD_SRC = http://jquery.com/src/jquery-latest.pack.js |
| 138 | htdocs/javascript/jquery.js: |
| 139 | @$(download) |
| 140 | |
| 141 | htdocs/javascript/jquery.autocomplete.js: DOWNLOAD_SRC = http://jquery-autocomplete.googlecode.com/svn/trunk/jquery.autocomplete.js |
| 142 | htdocs/javascript/jquery.autocomplete.js: |
| 143 | @$(download) |
| 144 | |
| 145 | $(JQUERY_PLUGINS_PATHES): DOWNLOAD_SRC = http://plugins.jquery.com/files/$(@F).txt |
| 146 | $(JQUERY_PLUGINS_PATHES): |
| 147 | @$(download) |
| 148 | |
| 149 | ################################################################################ |
| 150 | |
| 151 | .PHONY: build dist clean wiki build-wiki banana htdocs/images/banana htdocs/css/banana.css include/banana/banana.inc.php http* |
| 152 | |