Comments (2)
¡Buenas! ¿Cómo va?
¡Buenísima idea man! Hice una búsqueda rápida y la forma más simple que encontré de hacer un watch
es con una tool llamada entr(1)
: https://github.com/eradman/entr/
Para instalarla es súper sencillo (lo probé tanto en las VMs como en mi Linux Mint 20.1): sudo apt install entr
Y para usarla simplemente le pasás los archivos que querés que observe (tienen que estar separados por \n
):
find src/ -iname "*.c" | entr make
La única limitación que tiene es que si creás un nuevo archivo no tiene forma de observarlo a menos que reinicies, no me parece grave pero siempre es bueno saberlo.
Incluyendo esta regla en el makefile sale todo andando 10/10:
watch: all
echo "$(SOURCES) $(shell find $(IDIR) -iname "*.h")" | tr ' ' '\n' | entr make --no-print-directory
Este finde veo de armarlo para que quede bien prolijo y lo dejo en una branch de dev así no los vuelvo locos mandando releases cada 2 días jajaj
¡Saludos!
from so-project-template.
UPDATE - Encontré una forma de hacer que se actualice incluso aunque se creen nuevos archivos usando el flag -d
y envolviendo el llamado en un bucle infinito:
.PHONY: watch
watch:
while true; do \
find $(SRCDIR) $(IDIR) | entr -d make --no-print-directory; \
done;
from so-project-template.
Related Issues (20)
- Fixear includes en el makefile de utils
- Agregarle un timestamp al nombre de los logs de valgrind
- Agregar regla `make start`
- Mudar docu a la wiki
- Hacer un proyecto que compile todos los srcs como archivos individuales
- Biblioteca compartida no reconoce a una función de una biblioteca estática HOT 3
- Testear modulos - Posibilidad de integrar funciones de los modulos a los Tests HOT 1
- Agregar soporte para CSpec HOT 4
- Makefile + Git - Compilación de módulos según rama de git HOT 3
- Agregar `--track-origins=yes` a Valgrind
- Pruebas varias a la fecha HOT 1
- Static Lib referenciable como Shared Lib HOT 3
- error al importar las commons HOT 7
- Agregar includes
- Ver cómo generar prerrequisitos automáticamente
- Obtener SRCDIR y BINDIR en el proyecto
- Aceptar otras estructuras de carpetas HOT 1
- Agregar una regla 'help'
- Permitir que memcheck y helgrind reciban parámetros
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from so-project-template.