| 1 | PROJECT=@PROJECT@ |
|---|
| 2 | BROWSERS=firefox opera ie |
|---|
| 3 | CYGWIN=@CYGWIN@ |
|---|
| 4 | VERSION_FROM=@VERSION_FROM@ |
|---|
| 5 | STORE=@STORE@ |
|---|
| 6 | TESTS=@TESTS@ |
|---|
| 7 | RSC=@RSC@ |
|---|
| 8 | LIB=@LIB@ |
|---|
| 9 | mod=@CMD@ |
|---|
| 10 | |
|---|
| 11 | all: archive install |
|---|
| 12 | |
|---|
| 13 | archive: ar.name |
|---|
| 14 | rm -f *.tar.gz |
|---|
| 15 | $(mod) ar $< |
|---|
| 16 | |
|---|
| 17 | install: |
|---|
| 18 | rm -f $(STORE)/$(PROJECT)-*ar.js |
|---|
| 19 | rm -f $(STORE)/$(PROJECT)*.tar.gz |
|---|
| 20 | cp `cat ar.name`.tar.gz $(STORE) |
|---|
| 21 | |
|---|
| 22 | ar.name: $(VERSION_FROM) |
|---|
| 23 | cat $< |grep -e '[ ]*VERSION:'\ |
|---|
| 24 | | sed -e 's/VERSION[^0-9]*//' \ |
|---|
| 25 | | sed -e 's/[^0-9]*$$//'\ |
|---|
| 26 | | sed -e 's/^[ ]*/$(PROJECT)-/'\ |
|---|
| 27 | | head -n 1 >$@ |
|---|
| 28 | |
|---|
| 29 | update: DEPENDS |
|---|
| 30 | $(mod) update $(PROJECT) `cat $<` |
|---|
| 31 | $(mod) makefile $(PROJECT) `cat $<` |
|---|
| 32 | |
|---|
| 33 | clean: |
|---|
| 34 | rm -fr *.tar.gz |
|---|
| 35 | |
|---|
| 36 | #### |
|---|
| 37 | |
|---|
| 38 | |
|---|
| 39 | test: |
|---|
| 40 | rm -f tests/index.html |
|---|
| 41 | make unittests |
|---|
| 42 | make $(TESTS)/index.html |
|---|
| 43 | |
|---|
| 44 | runtest: |
|---|
| 45 | @PWD=`pwd`;\ |
|---|
| 46 | FILE=$$(PWD)/$(TESTS)/index.html;\ |
|---|
| 47 | URIPREFIX=file://;\ |
|---|
| 48 | if test $(CYGWIN) = yes ; then\ |
|---|
| 49 | FILE=`cygpath -m $$FILE`;\ |
|---|
| 50 | URIPREFIX=file:///;\ |
|---|
| 51 | fi;\ |
|---|
| 52 | URI=$$URIPREFIX$$FILE;\ |
|---|
| 53 | for f in $(BROWSERS); do \ |
|---|
| 54 | echo $$f $$URI; \ |
|---|
| 55 | ($$f $$URI &); \ |
|---|
| 56 | done |
|---|
| 57 | |
|---|
| 58 | tests/index.html: |
|---|
| 59 | echo '<!doctype html>' >>$@ |
|---|
| 60 | echo '<html>' >>$@ |
|---|
| 61 | echo '<head>'>>$@ |
|---|
| 62 | echo '<meta name="%24mod.DEBUG" content="false">' >>$@ |
|---|
| 63 | echo '<title>$(PROJECT)</title>' >>$@ |
|---|
| 64 | echo -n '<script type="text/javascript"' >>$@ |
|---|
| 65 | echo -n ' src="../lib/dollar-mod.js">'>>$@ |
|---|
| 66 | echo '</script>'>>$@ |
|---|
| 67 | echo '<script type="text/javascript">' >>$@ |
|---|
| 68 | echo >>$@ |
|---|
| 69 | echo '$$mod.withModule("site.pathconfig", function(){'>>$@ |
|---|
| 70 | echo ' $$mod.withModule("KaeL.Test.runtests", function(runtests){' >>$@ |
|---|
| 71 | echo ' runtests(' >>$@ |
|---|
| 72 | find tests -name \*.t.js \ |
|---|
| 73 | | sed -e 's/^tests\//.\//;s/^/"/;s/$$/",/;$${s/,$$//}' >>$@ |
|---|
| 74 | echo ');});});' >>$@ |
|---|
| 75 | echo '</script>' >>$@ |
|---|
| 76 | echo '</head>' >>$@ |
|---|
| 77 | echo '<body></body>' >>$@ |
|---|
| 78 | echo '</html>' >>$@ |
|---|
| 79 | |
|---|
| 80 | unittests: TEST.ignore |
|---|
| 81 | @MODS=` \ |
|---|
| 82 | BASE=$(LIB)/\`echo $(PROJECT)|sed -e 's/\./\//g'\`; \ |
|---|
| 83 | find $$BASE -name '*.js' \ |
|---|
| 84 | |sed -e 's/^lib\///; s/\.js$$//;s/\//./g' \ |
|---|
| 85 | `; \ |
|---|
| 86 | for f in $$MODS;do \ |
|---|
| 87 | if ! test -f $(TESTS)/$$f.t.js &&\ |
|---|
| 88 | test -z `cat TEST.ignore|grep '^'$$f'$$'`; then\ |
|---|
| 89 | make unittest TESTTARGET=$$f;\ |
|---|
| 90 | fi;\ |
|---|
| 91 | done |
|---|
| 92 | |
|---|
| 93 | TEST.ignore: |
|---|
| 94 | touch $@ |
|---|
| 95 | |
|---|
| 96 | TESTTTARGET= |
|---|
| 97 | unittest: |
|---|
| 98 | @T=$(TESTS)/$(TESTTARGET).t.js;\ |
|---|
| 99 | LOCAL=`echo $(TESTTARGET)|sed -e 's/\([^.]*\.\)*\([^.]*\)$$/\2/'`;\ |
|---|
| 100 | echo 'creating '$$T'...';\ |
|---|
| 101 | echo '$$mod.withModule( "KaeL.Test.MORE",' >$$T;\ |
|---|
| 102 | echo ' "$(TESTTARGET)",' >>$$T;\ |
|---|
| 103 | echo ' function(TEST,' >>$$T;\ |
|---|
| 104 | echo ' '$$LOCAL'){' >>$$T;\ |
|---|
| 105 | echo ' with(TEST){' >>$$T;\ |
|---|
| 106 | echo ' plan({tests: null});' >>$$T;\ |
|---|
| 107 | echo ' begin(function(end){' >>$$T;\ |
|---|
| 108 | echo ' ' >>$$T;\ |
|---|
| 109 | echo ' end();' >>$$T;\ |
|---|
| 110 | echo ' })' >>$$T;\ |
|---|
| 111 | echo ' }' >>$$T;\ |
|---|
| 112 | echo '});' >>$$T |
|---|