| 1 | BUILD_LANGUAGE ?= en_US |
|---|
| 2 | BUILD_PACKAGE ?= MTOS |
|---|
| 3 | |
|---|
| 4 | -include build/mt-dists/default.mk |
|---|
| 5 | -include build/mt-dists/$(BUILD_PACKAGE).mk |
|---|
| 6 | -include build/mt-dists/$(BUILD_LANGUAGE).mk |
|---|
| 7 | |
|---|
| 8 | BUILD_VERSION_ID ?= $(PRODUCT_VERSION) |
|---|
| 9 | |
|---|
| 10 | latin1_modules = lib/MT/L10N/es-iso-8859-1.pm \ |
|---|
| 11 | lib/MT/L10N/fr-iso-8859-1.pm \ |
|---|
| 12 | lib/MT/L10N/de-iso-8859-1.pm \ |
|---|
| 13 | lib/MT/L10N/nl-iso-8859-1.pm |
|---|
| 14 | |
|---|
| 15 | local_js = mt-static/mt_de.js \ |
|---|
| 16 | mt-static/mt_fr.js \ |
|---|
| 17 | mt-static/mt_nl.js \ |
|---|
| 18 | mt-static/mt_ja.js \ |
|---|
| 19 | mt-static/mt_es.js |
|---|
| 20 | |
|---|
| 21 | core_js = mt-static/js/common/Core.js \ |
|---|
| 22 | mt-static/js/common/JSON.js \ |
|---|
| 23 | mt-static/js/common/Timer.js \ |
|---|
| 24 | mt-static/js/common/Cookie.js \ |
|---|
| 25 | mt-static/js/common/DOM.js \ |
|---|
| 26 | mt-static/js/common/Observable.js \ |
|---|
| 27 | mt-static/js/common/Autolayout.js \ |
|---|
| 28 | mt-static/js/common/Component.js \ |
|---|
| 29 | mt-static/js/common/List.js \ |
|---|
| 30 | mt-static/js/common/App.js \ |
|---|
| 31 | mt-static/js/common/Cache.js \ |
|---|
| 32 | mt-static/js/common/Client.js \ |
|---|
| 33 | mt-static/js/common/Template.js \ |
|---|
| 34 | mt-static/js/tc.js \ |
|---|
| 35 | mt-static/js/tc/tableselect.js |
|---|
| 36 | |
|---|
| 37 | main_css = mt-static/css/reset.css \ |
|---|
| 38 | mt-static/css/structure.css \ |
|---|
| 39 | mt-static/css/messaging.css \ |
|---|
| 40 | mt-static/css/utilities.css |
|---|
| 41 | |
|---|
| 42 | simple_css = mt-static/css/reset.css \ |
|---|
| 43 | mt-static/css/messaging.css \ |
|---|
| 44 | mt-static/css/chromeless.css \ |
|---|
| 45 | mt-static/css/utilities.css |
|---|
| 46 | |
|---|
| 47 | all: code |
|---|
| 48 | |
|---|
| 49 | mt-static/js/mt_core_compact.js: $(core_js) |
|---|
| 50 | cat $(core_js) > mt-static/js/mt_core_compact.js |
|---|
| 51 | ./build/minifier.pl mt-static/js/mt_core_compact.js |
|---|
| 52 | |
|---|
| 53 | mt-static/css/main.css: $(main_css) |
|---|
| 54 | cat $(main_css) > mt-static/css/main.css |
|---|
| 55 | ./build/minifier.pl mt-static/css/main.css |
|---|
| 56 | |
|---|
| 57 | mt-static/css/simple.css: $(simple_css) |
|---|
| 58 | cat $(simple_css) > mt-static/css/simple.css |
|---|
| 59 | ./build/minifier.pl mt-static/css/simple.css |
|---|
| 60 | |
|---|
| 61 | .PHONY: code-common code code-en_US code-de code-fr code-nl \ |
|---|
| 62 | code-es code-ja |
|---|
| 63 | code_common = lib/MT.pm php/mt.php \ |
|---|
| 64 | mt-static/js/mt_core_compact.js \ |
|---|
| 65 | mt-static/css/main.css \ |
|---|
| 66 | mt-static/css/simple.css |
|---|
| 67 | |
|---|
| 68 | code: check code-$(BUILD_LANGUAGE) |
|---|
| 69 | code-en_US code-de code-fr code-nl code-es: check $(code_common) \ |
|---|
| 70 | $(latin1_modules) $(local_js) |
|---|
| 71 | code-ja: check $(code_common) mt-static/mt_ja.js |
|---|
| 72 | |
|---|
| 73 | build-language-stamp: |
|---|
| 74 | |
|---|
| 75 | check: |
|---|
| 76 | @(test $(BUILD_LANGUAGE) || echo You must define BUILD_LANGUAGE) |
|---|
| 77 | @test $(BUILD_LANGUAGE) |
|---|
| 78 | @(test $(BUILD_PACKAGE) || echo You must define BUILD_PACKAGE) |
|---|
| 79 | @test $(BUILD_PACKAGE) |
|---|
| 80 | @(test $(BUILD_VERSION_ID) || echo You must define BUILD_VERSION_ID) |
|---|
| 81 | @test $(BUILD_VERSION_ID) |
|---|
| 82 | -@if [ "`cat build-language-stamp`" != ${BUILD_LANGUAGE} ] ; \ |
|---|
| 83 | then \ |
|---|
| 84 | echo ${BUILD_LANGUAGE} > build-language-stamp; \ |
|---|
| 85 | echo updated build-language-stamp; \ |
|---|
| 86 | fi |
|---|
| 87 | |
|---|
| 88 | lib/MT.pm: build-language-stamp build/mt-dists/$(BUILD_PACKAGE).mk build/mt-dists/default.mk |
|---|
| 89 | mv lib/MT.pm lib/MT.pm.pre |
|---|
| 90 | sed -e 's!__PRODUCT_NAME__!$(PRODUCT_NAME)!g' \ |
|---|
| 91 | -e 's!__BUILD_ID__!$(BUILD_VERSION_ID)!g' \ |
|---|
| 92 | -e 's!__PORTAL_URL__!$(PORTAL_URL)!g' \ |
|---|
| 93 | lib/MT.pm.pre > lib/MT.pm |
|---|
| 94 | rm lib/MT.pm.pre |
|---|
| 95 | |
|---|
| 96 | php/mt.php: build-language-stamp build/mt-dists/$(BUILD_PACKAGE).mk |
|---|
| 97 | mv php/mt.php php/mt.php.pre |
|---|
| 98 | sed -e 's!__PRODUCT_NAME__!$(PRODUCT_NAME)!g' \ |
|---|
| 99 | php/mt.php.pre > php/mt.php |
|---|
| 100 | rm php/mt.php.pre |
|---|
| 101 | |
|---|
| 102 | $(local_js): mt-static/mt_%.js: mt-static/mt.js lib/MT/L10N/%.pm |
|---|
| 103 | perl build/mt-dists/make-js |
|---|
| 104 | |
|---|
| 105 | $(latin1_modules): %-iso-8859-1.pm: %.pm |
|---|
| 106 | iconv -f utf-8 -t iso-8859-1 $< > $@ |
|---|
| 107 | |
|---|
| 108 | ##### Other useful targets |
|---|
| 109 | |
|---|
| 110 | .PHONY: test cover clean all |
|---|
| 111 | |
|---|
| 112 | cover: |
|---|
| 113 | -cover -delete |
|---|
| 114 | HARNESS_PERL_SWITCHES=-MDevel::Cover \ |
|---|
| 115 | perl -Ilib -Iextlib -It/lib -MTest::Harness -e 'runtests @ARGV' t/*.t |
|---|
| 116 | |
|---|
| 117 | covertags: |
|---|
| 118 | -cover -delete |
|---|
| 119 | HARNESS_PERL_SWITCHES=-MDevel::Cover \ |
|---|
| 120 | perl -Ilib -Iextlib -It/lib -MTest::Harness -e 'runtests @ARGV' t/*tags*.t |
|---|
| 121 | -cover |
|---|
| 122 | |
|---|
| 123 | tags: |
|---|
| 124 | -rm -rf t/db/* |
|---|
| 125 | perl -Ilib -Iextlib -It/lib -MTest::Harness -e 'runtests @ARGV' t/*tags*.t |
|---|
| 126 | |
|---|
| 127 | test: code |
|---|
| 128 | perl -Ilib -Iextlib -It/lib -MTest::Harness -e 'runtests @ARGV' t/*.t |
|---|
| 129 | |
|---|
| 130 | testall: code |
|---|
| 131 | perl -Ilib -Iextlib -It/lib -MTest::Harness -e 'runtests @ARGV' t/*.t addons/*/t/*.t plugins/*/t/*.t |
|---|
| 132 | |
|---|
| 133 | quick-test: code |
|---|
| 134 | perl -Ilib -Iextlib -It/lib -MTest::Harness -e 'runtests @ARGV' \ |
|---|
| 135 | t/00-compile.t t/01-serialize.t t/04-config.t \ |
|---|
| 136 | t/05-errorhandler.t t/07-builder.t t/08-util.t \ |
|---|
| 137 | t/09-image.t t/10-filemgr.t t/11-sanitize.t t/12-dsa.t \ |
|---|
| 138 | t/13-dirify.t t/20-setup.t t/21-callbacks.t t/22-author.t\ |
|---|
| 139 | t/23-entry.t t/26-pings.t t/27-context.t t/28-xmlrpc.t \ |
|---|
| 140 | t/29-cleanup.t t/32-mysql.t t/33-postgres.t \ |
|---|
| 141 | t/34-sqlite.t t/35-tags.t t/45-datetime.t t/46-i18n-en.t \ |
|---|
| 142 | t/47-i18n-ja.t t/48-cache.t |
|---|
| 143 | |
|---|
| 144 | dist: |
|---|
| 145 | perl build/exportmt.pl --local |
|---|
| 146 | |
|---|
| 147 | me: |
|---|
| 148 | perl build/exportmt.pl --make |
|---|
| 149 | |
|---|
| 150 | clean: |
|---|
| 151 | -rm -rf $(latin1_modules) $(local_js) |
|---|
| 152 | -rm -rf mt-static/js/mt_core_compact.js |
|---|
| 153 | -rm -rf mt-static/css/main.css mt-static/css/simple.css |
|---|
| 154 | -rm -rf MANIFEST |
|---|
| 155 | -rm -rf build-language-stamp |
|---|
| 156 | |
|---|