2011-01-24 20:01:25 +01:00
|
|
|
|
V ?= 0
|
2010-08-07 00:21:08 +02:00
|
|
|
|
|
2006-08-13 17:26:26 +02:00
|
|
|
|
SRC_DIR = src
|
2010-08-07 00:21:08 +02:00
|
|
|
|
TEST_DIR = test
|
2006-08-13 17:26:26 +02:00
|
|
|
|
BUILD_DIR = build
|
2006-08-13 20:38:51 +02:00
|
|
|
|
|
2006-08-13 20:58:58 +02:00
|
|
|
|
PREFIX = .
|
|
|
|
|
DIST_DIR = ${PREFIX}/dist
|
2006-08-13 17:26:26 +02:00
|
|
|
|
|
2011-01-18 04:06:57 +01:00
|
|
|
|
JS_ENGINE ?= `which node nodejs`
|
2011-01-18 01:49:24 +01:00
|
|
|
|
COMPILER = ${JS_ENGINE} ${BUILD_DIR}/uglify.js --unsafe
|
2010-08-07 00:21:08 +02:00
|
|
|
|
|
2007-09-08 14:42:32 +02:00
|
|
|
|
BASE_FILES = ${SRC_DIR}/core.js\
|
2009-12-07 16:45:20 +01:00
|
|
|
|
${SRC_DIR}/support.js\
|
2008-12-30 03:31:26 +01:00
|
|
|
|
${SRC_DIR}/data.js\
|
2009-12-06 23:19:33 +01:00
|
|
|
|
${SRC_DIR}/queue.js\
|
2010-01-13 03:54:06 +01:00
|
|
|
|
${SRC_DIR}/attributes.js\
|
2009-09-07 22:55:36 +02:00
|
|
|
|
${SRC_DIR}/event.js\
|
2007-09-08 14:42:32 +02:00
|
|
|
|
${SRC_DIR}/selector.js\
|
2009-03-18 22:15:38 +01:00
|
|
|
|
${SRC_DIR}/traversing.js\
|
|
|
|
|
${SRC_DIR}/manipulation.js\
|
2009-03-23 00:25:03 +01:00
|
|
|
|
${SRC_DIR}/css.js\
|
2010-12-10 02:55:43 +01:00
|
|
|
|
${SRC_DIR}/ajax.js\
|
2011-01-06 01:17:31 +01:00
|
|
|
|
${SRC_DIR}/ajax/jsonp.js\
|
|
|
|
|
${SRC_DIR}/ajax/script.js\
|
|
|
|
|
${SRC_DIR}/ajax/xhr.js\
|
2009-12-18 17:01:19 +01:00
|
|
|
|
${SRC_DIR}/effects.js\
|
2008-04-29 05:26:06 +02:00
|
|
|
|
${SRC_DIR}/offset.js\
|
|
|
|
|
${SRC_DIR}/dimensions.js
|
2006-10-27 01:11:34 +02:00
|
|
|
|
|
|
|
|
|
MODULES = ${SRC_DIR}/intro.js\
|
|
|
|
|
${BASE_FILES}\
|
|
|
|
|
${SRC_DIR}/outro.js
|
|
|
|
|
|
2006-08-13 20:38:51 +02:00
|
|
|
|
JQ = ${DIST_DIR}/jquery.js
|
2007-02-15 16:19:07 +01:00
|
|
|
|
JQ_MIN = ${DIST_DIR}/jquery.min.js
|
2006-08-13 20:38:51 +02:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
SIZZLE_DIR = ${SRC_DIR}/sizzle
|
|
|
|
|
QUNIT_DIR = ${TEST_DIR}/qunit
|
2006-10-10 02:23:18 +02:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
JQ_VER = $(shell cat version.txt)
|
2010-10-23 06:35:09 +02:00
|
|
|
|
VER = sed "s/@VERSION/${JQ_VER}/"
|
2006-08-13 22:01:26 +02:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
DATE=$(shell git log -1 --pretty=format:%ad)
|
2009-01-05 00:34:18 +01:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
all: init jquery min lint
|
2006-08-13 20:58:58 +02:00
|
|
|
|
@@echo "jQuery build complete."
|
2006-08-13 20:38:51 +02:00
|
|
|
|
|
|
|
|
|
${DIST_DIR}:
|
2006-08-13 20:58:58 +02:00
|
|
|
|
@@mkdir -p ${DIST_DIR}
|
2006-08-13 17:26:26 +02:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
ifeq ($(strip $(V)),0)
|
|
|
|
|
verbose = --quiet
|
|
|
|
|
else ifeq ($(strip $(V)),1)
|
|
|
|
|
verbose =
|
|
|
|
|
else
|
|
|
|
|
verbose = --verbose
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
define clone_or_pull
|
|
|
|
|
-@@if test ! -d $(strip ${1})/.git; then \
|
|
|
|
|
echo "Cloning $(strip ${1})..."; \
|
|
|
|
|
git clone $(strip ${verbose}) --depth=1 $(strip ${2}) $(strip ${1}); \
|
|
|
|
|
else \
|
|
|
|
|
echo "Pulling $(strip ${1})..."; \
|
|
|
|
|
git --git-dir=$(strip ${1})/.git pull $(strip ${verbose}) origin master; \
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
endef
|
|
|
|
|
|
2009-10-26 23:23:31 +01:00
|
|
|
|
init:
|
2010-08-07 00:21:08 +02:00
|
|
|
|
$(call clone_or_pull, ${QUNIT_DIR}, git://github.com/jquery/qunit.git)
|
|
|
|
|
$(call clone_or_pull, ${SIZZLE_DIR}, git://github.com/jeresig/sizzle.git)
|
2009-10-26 23:23:31 +01:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
jquery: ${JQ}
|
|
|
|
|
jq: ${JQ}
|
2006-08-13 17:26:26 +02:00
|
|
|
|
|
2010-12-30 08:38:28 +01:00
|
|
|
|
${JQ}: ${MODULES} | ${DIST_DIR}
|
2006-08-13 20:58:58 +02:00
|
|
|
|
@@echo "Building" ${JQ}
|
2006-08-13 17:26:26 +02:00
|
|
|
|
|
2009-01-05 00:34:18 +01:00
|
|
|
|
@@cat ${MODULES} | \
|
2010-09-09 16:34:21 +02:00
|
|
|
|
sed 's/.function..jQuery...{//' | \
|
|
|
|
|
sed 's/}...jQuery..;//' | \
|
2010-12-30 07:34:48 +01:00
|
|
|
|
sed 's/@DATE/'"${DATE}"'/' | \
|
2009-01-05 00:34:18 +01:00
|
|
|
|
${VER} > ${JQ};
|
2006-08-13 17:26:26 +02:00
|
|
|
|
|
2010-08-07 00:21:08 +02:00
|
|
|
|
${SRC_DIR}/selector.js: ${SIZZLE_DIR}/sizzle.js
|
2009-10-26 23:23:31 +01:00
|
|
|
|
@@echo "Building selector code from Sizzle"
|
2010-08-07 00:21:08 +02:00
|
|
|
|
@@sed '/EXPOSE/r src/sizzle-jquery.js' ${SIZZLE_DIR}/sizzle.js | grep -v window.Sizzle > ${SRC_DIR}/selector.js
|
2009-10-26 23:23:31 +01:00
|
|
|
|
|
2010-03-02 03:51:44 +01:00
|
|
|
|
lint: ${JQ}
|
|
|
|
|
@@echo "Checking jQuery against JSLint..."
|
2011-01-18 01:49:24 +01:00
|
|
|
|
@@${JS_ENGINE} build/jslint-check.js
|
2010-03-02 03:51:44 +01:00
|
|
|
|
|
2007-02-15 16:19:07 +01:00
|
|
|
|
min: ${JQ_MIN}
|
|
|
|
|
|
|
|
|
|
${JQ_MIN}: ${JQ}
|
|
|
|
|
@@echo "Building" ${JQ_MIN}
|
2011-01-24 20:01:25 +01:00
|
|
|
|
@@${COMPILER} ${JQ} > ${JQ_MIN}
|
|
|
|
|
@@sed -i '$ s#^\( \*/\)\(.\+\)#\1\n\2;#' ${JQ_MIN}
|
2007-02-15 16:19:07 +01:00
|
|
|
|
|
2006-08-13 17:26:26 +02:00
|
|
|
|
clean:
|
2006-08-13 22:01:26 +02:00
|
|
|
|
@@echo "Removing Distribution directory:" ${DIST_DIR}
|
2006-08-13 20:58:58 +02:00
|
|
|
|
@@rm -rf ${DIST_DIR}
|
2009-10-26 23:23:31 +01:00
|
|
|
|
|
|
|
|
|
@@echo "Removing built copy of Sizzle"
|
2010-04-08 03:10:07 +02:00
|
|
|
|
@@rm -f src/selector.js
|
2009-11-30 21:54:14 +01:00
|
|
|
|
|
|
|
|
|
@@echo "Removing cloned directories"
|
|
|
|
|
@@rm -rf test/qunit src/sizzle
|
2010-08-07 00:21:08 +02:00
|
|
|
|
|
|
|
|
|
.PHONY: all jquery lint min init jq clean
|