# List of all .templ files TEMPL_FILES := $(wildcard *.templ) # Name of the generated file(s) from templ GENERATED_FILES := $(TEMPL_FILES:.templ=_templ.go) # Generate Go files from .templ files only if they have changed $(GENERATED_FILES): $(TEMPL_FILES) templ generate # Run task depends on the generated files run: $(GENERATED_FILES) go run . # this uses wgo to re-execute 'make run' # which will toggle templ generate, when needed # and then do `go run .` to rebuild all else .PHONY: run/live run/live: wgo -verbose -file=.go -file=.templ make run