GENFILES = one.c two.c

foo: one.o two.o
	$(CC) -o $@ $^

$(GENFILES): stamp-gen
stamp-gen: touch-me
	echo "int a = $$$$;" > new-one.c
	echo "extern int a; int main(void) { return a; }" > new-two.c
	./move-if-change new-one.c one.c
	./move-if-change new-two.c two.c
	touch $@
