todod/project.zsh
Luka Vandervelden 802812e99f Makefile update.
- kanband is now Makefile-produced.
  - Improved dependency handling for client-related files (ls, css).
2019-07-07 11:50:32 +02:00

89 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package=kanban
version=0.1
targets=(kanband)
type[kanband]=crystal
sources[kanband]=src/main.cr
depends[kanband]="$(ls src/*.cr | grep -v '/main.cr$')"
targets+=(main.js)
type[main.js]=livescript
sources[main.js]=client/index.ls
depends[main.js]="$(ls client/*.ls | grep -v /index.ls$ | tr '\n' ' ')"
targets+=(style.css)
type[style.css]=css
sources[style.css]=client/style.sass
#
# implementation details below, bruh~
# (seriously, dont read that unless you want to read that)
# (I mean it, dude)
#
function LSC {
echo "${fg_bold[blue]} LSC > ${fg_bold[white]}$@${reset_color}"
}
function BUN {
echo "${fg_bold[green]} BUN > ${fg_bold[white]}$@${reset_color}"
}
function MIN {
echo "${fg_bold[red]} MIN > ${fg_bold[white]}$@${reset_color}"
}
function CSS {
echo "${fg_bold[yellow]} CSS > ${fg_bold[white]}$@${reset_color}"
}
function livescript.build {
write "${target}: ${target%.js}.bundle.js $(dirdep $target)"
write "\t@echo '$(MIN ${target%.js}.js)'"
write "\t${Q}npx babel --minified ${target%.js}.bundle.js -o ${target}"
write "\n"
write "${target%.js}.bundle.js: ${sources[$target]} ${depends[$target]} $(dirdep $target)"
write "\t@echo '$(BUN ${target%.js}.bundle.js)'"
write "\t${Q}npx browserify -t browserify-livescript ${sources[$target]} -o ${target%.js}.bundle.js"
write "\n"
}
function livescript.clean {
write "${target}.clean:"
for file in ${target} ${target%.js}.bundle.js; do
write "\t@echo '$(RM ${file})'"
write "\t${Q}rm -f ${file}"
done
write "\n"
}
function livescript.install {
: FIXME
}
function livescript.uninstall {
: FIXME
}
function css.build {
write "${target}: ${sources[$target]} $(dirdep $target)"
write "\t@echo '$(CSS ${target})'"
write "\t${Q}sassc ${sources[$target]} > ${target}"
write "\n"
}
function css.clean {
script.clean "$@"
}
function css.install {
: FIXME
}
function css.uninstall {
: FIXME
}