Made a bunch of changes to the build system.
[jquery.git] / Makefile
1 SRC_DIR = src
2 BUILD_DIR = build
3
4 PREFIX = .
5 DOCS_DIR = ${PREFIX}/docs
6 TEST_DIR = ${PREFIX}/test
7 DIST_DIR = ${PREFIX}/dist
8
9 MODULES = jquery event fx ajax
10 JQ = ${DIST_DIR}/jquery.js
11 JQ_LITE = ${DIST_DIR}/jquery.lite.js
12 JQ_PACK = ${DIST_DIR}/jquery.pack.js
13
14 all: jquery lite pack docs
15         @@echo "jQuery build complete."
16
17 ${DIST_DIR}:
18         @@mkdir -p ${DIST_DIR}
19
20 jquery: ${DIST_DIR} ${JQ}
21
22 ${JQ}:
23         @@echo "Building" ${JQ}
24
25         @@for f in ${MODULES}; do \
26                 echo " - Adding module:" $$f;\
27                 cat ${SRC_DIR}/$$f/$$f.js >> ${JQ};\
28         done
29
30         @@echo ${JQ} "built."
31         @@echo
32
33 lite: ${JQ_LITE}
34
35 ${JQ_LITE}: jquery
36         @@echo "Building" ${JQ_LITE}
37         @@echo " - Removing ScriptDoc from" ${JQ}
38         @@java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/lite.js ${JQ} ${JQ_LITE}
39         @@echo ${JQ_LITE} "built."
40         @@echo
41
42 pack: ${JQ_PACK}
43
44 ${JQ_PACK}: jquery
45         @@echo "Building" ${JQ_PACK}
46         @@echo " - Compressing using Packer"
47         @@java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/build.js ${JQ} ${JQ_PACK}
48         @@echo ${JQ_PACK} "built."
49         @@echo
50
51 test: ${JQ}
52
53 docs: ${JQ}
54         @@echo "Building Documentation"
55
56         @@echo " - Making Documentation Directory:" ${DOCS_DIR}
57         @@mkdir -p ${DOCS_DIR}
58         @@mkdir -p ${DOCS_DIR}/data
59
60         @@echo " - Copying over script files."
61         @@cp -R ${BUILD_DIR}/docs/js ${DOCS_DIR}/js
62
63         @@echo " - Copying over style files."
64         @@cp -R ${BUILD_DIR}/docs/style ${DOCS_DIR}/style
65
66         @@echo " - Extracting ScriptDoc from" ${JQ}
67         @@java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/docs.js ${JQ} ${DOCS_DIR}
68
69         @@echo "Documentation built."
70         @@echo
71
72 clean:
73         @@rm -rf ${DIST_DIR}
74         @@rm -rf ${DOCS_DIR}