-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcommon.mk
63 lines (48 loc) · 1.65 KB
/
common.mk
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
Q ?= @
ROOT_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
DIST_DIR := $(ROOT_DIR)/dist
SRC_DIR := $(ROOT_DIR)/src
LIBS_DIR := $(ROOT_DIR)/libs
VIEW_DIR := $(ROOT_DIR)/view
LOCALE_DIR := $(ROOT_DIR)/locale
TEST_DIR := $(ROOT_DIR)/test
ifeq ($(NPM_BIN),)
NPM_BIN := $(shell npm bin)
export NPM_BIN
endif
BROWSERIFY := $(NPM_BIN)/browserify
COFFEE := $(NPM_BIN)/coffee
UGLIFYJS := $(NPM_BIN)/uglifyjs
LESSC := $(NPM_BIN)/lessc
JSDUCK := $(firstword $(shell which jsduck 2> /dev/null) .jsduck-required)
EMCC := $(firstword $(shell which emcc 2> /dev/null) .emscripten-required)
ECHO_R = @echo -e "\033[1;31m\# "$1"\033[0m"
ECHO_G = @echo -e "\033[1;32m\# "$1"\033[0m"
ECHO_Y = @echo -e "\033[1;33m\# "$1"\033[0m"
ECHO_B = @echo -e "\033[1;34m\# "$1"\033[0m"
ECHO_M = @echo -e "\033[1;35m\# "$1"\033[0m"
ECHO_C = @echo -e "\033[1;36m\# "$1"\033[0m"
ECHO_W = @echo -e "\033[1;37m\# "$1"\033[0m"
TEST0 = test $${PIPESTATUS[0]} -eq 0
TEST0_RM = $(TEST0) || (rm -f $@; false)
.PHONY: all clean clobber
all:
$(call ECHO_B,"Build finished for target \`$@'")
$(BROWSERIFY) $(COFFEE) $(UGLIFYJS) $(LESSC):
$(call ECHO_C,"Installing npm packages")
$(Q)cd $(ROOT_DIR) && npm install
$(JSDUCK):
$(call ECHO_C,"Installing gem packages")
$(Q)cd $(ROOT_DIR) && bundle install
$(EMCC):
$(call ECHO_R,"Emscripten (emcc) not found!")
$(call ECHO_R,"Please install manually: http://emscripten.org/")
@false
clean: clean-message
.PHONY: clean-message
clean-message:
$(call ECHO_Y,"Cleaning files")
clobber: clobber-message
.PHONY: clobber-message
clobber-message:
$(call ECHO_M,"Clobbering files")