50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| JSX = ./node_modules/react-tools/bin/jsx
 | |
| JSMIN = ./node_modules/uglify-js/bin/uglifyjs
 | |
| CSSMIN = ./node_modules/clean-css/bin/cleancss
 | |
| 
 | |
| cloc:
 | |
| 	cloc . --exclude-dir=node_modules,app/bower_components,app/jsx/build/.module_cache
 | |
| 
 | |
| dist:
 | |
| 	# Compiling JSX
 | |
| 	rm -rf app/jsx/build
 | |
| 	$(JSX) --extension jsx app/jsx app/jsx/build
 | |
| 
 | |
| 	# Compressing JS
 | |
| 	#
 | |
| 	# Get all script tags
 | |
| 	# Ignore Bower deps, include minified versions later
 | |
| 	# Splitting string by " and taking second field (URI)
 | |
| 	# Adding "app" prefix
 | |
| 	# Prepending dependencies to the list
 | |
| 	# Concatenation
 | |
| 	# Minification
 | |
| 	cat app/app.html \
 | |
| 	| grep script \
 | |
| 	| grep -v bower \
 | |
| 	| cut -d '"' -f 2 \
 | |
| 	| sed -e 's/^/app/' \
 | |
| 	| ( echo app/bower_components/react/react.min.js && \
 | |
| 		echo app/bower_components/react-router/build/global/ReactRouter.min.js && \
 | |
| 		echo app/bower_components/lodash/lodash.min.js && \
 | |
| 		cat ) \
 | |
| 	| xargs cat \
 | |
| 	| $(JSMIN) > build/app.js
 | |
| 
 | |
| 	# Compressing CSS
 | |
| 	#
 | |
| 	# Get all style tags
 | |
| 	# Ignore local Open Sans stylesheet
 | |
| 	# Splitting string by " and taking fourth field (URI)
 | |
| 	# Adding "app" prefix
 | |
| 	# Concatenation
 | |
| 	# Minification
 | |
| 	cat app/app.html \
 | |
| 	| grep stylesheet \
 | |
| 	| grep -v fonts.googleapis.com \
 | |
| 	| grep -v opensans \
 | |
| 	| cut -d '"' -f 4 \
 | |
| 	| sed -e 's/^/app/' \
 | |
| 	| xargs cat \
 | |
| 	| $(CSSMIN) -o build/app.css
 |