GNU Make Tips & Tricks

Tenho 2 pequenos truques exclusivos que uso para criar arquivos e gostaria de compartilhar, aqui estão eles …

Peça “sim” antes de continuar

install: do-install production-deploy 

do-install: #... all deps
gcc
...

production
-deploy: production-ask
rm
-fr /

%-ask:
@python -c 'raise SystemExit(not raw_input("All Done! Are you sure you want to install to $(subst -ask,,$@)? (yes/NO) ") == "yes")'

Aguarde alguns segundos antes de reiniciar, permite que o operador cancele via Ctrl-C

install: do-install production-restart

do-install: #... all deps
gcc
...

production
-restart: 5-rwait
sudo reboot


%-rwait:
@python -c 'import sys,time;n=$(subst -rwait,,$@);filter(lambda i: (sys.stdout.write("will restart system in %sn" % (n-i)) or time.sleep(1)), range(n)) or sys.stdout.write("restarting ...n")'