40 lines
860 B
Makefile
40 lines
860 B
Makefile
|
APP := $(shell head -n 1 "shard.yml"|cut -d ':' -f 2|tr -d ' ')
|
||
|
VERSION := $(shell sed '2!d' "shard.yml"|cut -d ':' -f 2|tr -d ' ')
|
||
|
DEST = /tmp/${APP}
|
||
|
|
||
|
all: build
|
||
|
|
||
|
bin:
|
||
|
mkdir -p bin
|
||
|
|
||
|
bin/${APP}:
|
||
|
crystal build src/${APP}.cr -o bin/${APP} --release --stats
|
||
|
|
||
|
bin/amber:
|
||
|
crystal build lib/amber/src/amber/cli.cr -o bin/amber --stats
|
||
|
|
||
|
build: bin bin/${APP} bin/amber
|
||
|
|
||
|
dependencies:
|
||
|
shards install
|
||
|
|
||
|
${DEST}:
|
||
|
mkdir -p ${DEST}
|
||
|
|
||
|
${APP}-${VERSION}.tar.gz: build ${DEST}
|
||
|
mkdir -p ${DEST}/config/environments/ ${DEST}/src/locales
|
||
|
cp -r bin/ ${DEST}/
|
||
|
cp -r db/ ${DEST}/
|
||
|
cp -r public/ ${DEST}/
|
||
|
cp -r src/locales ${DEST}/src/locales
|
||
|
cp config/environments/.production.enc ${DEST}/config/environments/
|
||
|
tar cvfJ "${APP}-${VERSION}.tar.xz" -C /tmp/ ${APP}
|
||
|
rm -rf ${DEST}
|
||
|
|
||
|
extract: ${APP}-${VERSION}.tar.gz
|
||
|
|
||
|
clean:
|
||
|
rm -f bin/amber
|
||
|
rm -f bin/${APP}
|
||
|
rm -rf ${DEST}
|