Pregunta

Me mantener mi código fuente HTML (y las imágenes, etc.) en directorios separados para control de código fuente. Parte de hacer la distribución es tener los archivos de copia cosméticos a la carpeta de salida y establecer los atributos.

Hoy mis espectáculos makefile (extracto):

%.html:
    /usr/bin/install -c -p -m 644 $< $@ 

www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
$(HTMLDST)/firmware.html: $(HTMLSRC)/firmware.html 
$(HTMLDST)/firmware_status.html: $(HTMLSRC)/firmware_status.html 
$(HTMLDST)/index.html: $(HTMLSRC)/index.html 

Esto se muestra con sólo tres archivos html, pero en realidad, hay un montón.

Me gustaría simplemente lista los nombres de archivo (sin rutas) y tienen que contentarse la comparación entre el origen y el destino y copiar los archivos que han sido actualizados.

Gracias de antemano Søren

¿Fue útil?

Solución

Esto debe hacerlo:

$(HTMLDST)/%.html: $(HTMLSRC)/%.html
    /usr/bin/install -c -p -m 644 $< $@ 

www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html

O, por razones de brevedad:

HTMLFILES = firmware firmware_status index

DESTFILES = $(patsubst %,$(HTMLDST)/%.html,$(HTMLFILES))

$(HTMLDST)/%.html: $(HTMLSRC)/%.html
    /usr/bin/install -c -p -m 644 $< $@ 

.PHONY: www
www: $(DESTFILES)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top