root/lang/javascript/dollar-mod.js/dolmod/trunk/templates/Makefile.in @ 27499

Revision 27499, 2.7 kB (checked in by drry, 6 years ago)
Line 
1PROJECT=@PROJECT@
2BROWSERS=firefox opera ie
3CYGWIN=@CYGWIN@
4VERSION_FROM=@VERSION_FROM@
5STORE=@STORE@
6TESTS=@TESTS@
7RSC=@RSC@
8LIB=@LIB@
9mod=@CMD@
10
11all: archive install
12
13archive: ar.name
14        rm -f *.tar.gz
15        $(mod) ar $<
16
17install:
18        rm -f $(STORE)/$(PROJECT)-*ar.js
19        rm -f $(STORE)/$(PROJECT)*.tar.gz
20        cp `cat ar.name`.tar.gz $(STORE)
21
22ar.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
29update: DEPENDS
30        $(mod) update   $(PROJECT) `cat $<`
31        $(mod) makefile $(PROJECT) `cat $<`
32
33clean:
34        rm -fr *.tar.gz
35
36####
37
38
39test:
40        rm -f  tests/index.html
41        make unittests
42        make $(TESTS)/index.html
43
44runtest:
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
58tests/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
80unittests: 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
93TEST.ignore:
94        touch $@
95
96TESTTTARGET=
97unittest:
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
Note: See TracBrowser for help on using the browser.