forked from bruth/wicked-django-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
68 lines (52 loc) · 1.86 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
WATCH_FILE = .watch-pid
MANAGE_SCRIPT = ./bin/manage.py
SITE_DIR = ./_site
STATIC_DIR = ./{{ project_name }}/static
COFFEE_DIR = ${STATIC_DIR}/scripts/coffeescript
JAVASCRIPT_DIR = ${STATIC_DIR}/scripts/javascript
JAVASCRIPT_SRC_DIR = ${JAVASCRIPT_DIR}/src
JAVASCRIPT_MIN_DIR = ${JAVASCRIPT_DIR}/min
SASS_DIR = ${STATIC_DIR}/stylesheets/scss
CSS_DIR = ${STATIC_DIR}/stylesheets/css
COMPILE_SASS = `which sass` \
--scss \
--style=compressed \
-r ${SASS_DIR}/lib/bourbon/lib/bourbon.rb \
${SASS_DIR}:${CSS_DIR}
COMPILE_COFFEE = `which coffee` -b -o ${JAVASCRIPT_SRC_DIR} -c ${COFFEE_DIR}
WATCH_COFFEE = `which coffee` -w -b -o ${JAVASCRIPT_SRC_DIR} -c ${COFFEE_DIR}
REQUIRE_OPTIMIZE = `which node` ./bin/r.js -o ${JAVASCRIPT_DIR}/app.build.js
all: build collect
setup:
@if [ ! -f ./{{ project_name }}/conf/local_settings.py ] && [ -f ./{{ project_name }}/conf/local_settings.py.sample ]; then \
echo 'Creating local_settings.py...'; \
cp ./{{ project_name }}/conf/local_settings.py.sample ./{{ project_name }}/conf/local_settings.py; \
fi;
build: sass coffee optimize
collect:
@echo 'Symlinking static files...'
@${MANAGE_SCRIPT} collectstatic --link --noinput > /dev/null
sass:
@echo 'Compiling Sass/SCSS...'
@mkdir -p ${CSS_DIR}
@${COMPILE_SASS} --update
coffee:
@echo 'Compiling CoffeeScript...'
@${COMPILE_COFFEE}
watch: unwatch
@echo 'Watching in the background...'
@${WATCH_COFFEE} > /dev/null 2>&1 & echo $$! > ${WATCH_FILE}
@${COMPILE_SASS} --watch > /dev/null 2>&1 & echo $$! >> ${WATCH_FILE}
unwatch:
@if [ -f ${WATCH_FILE} ]; then \
echo 'Watchers stopped'; \
for pid in `cat ${WATCH_FILE}`; do kill -9 $$pid; done; \
rm ${WATCH_FILE}; \
fi;
optimize: clean
@echo 'Optimizing JavaScript...'
@mkdir -p ${JAVASCRIPT_MIN_DIR}
@${REQUIRE_OPTIMIZE} > /dev/null
clean:
@rm -rf ${JAVASCRIPT_MIN_DIR}
.PHONY: all build sass coffee watch unwatch optimize