Makefile 561 Bytes
C_SOURCES := main.c

# Make an archive that has two object files with the same name, but
# different timestamps. Do it all in one rule so that the timestamps
# can be controlled without confusing Make.
libfoo.a: a.c sub1/a.c
	$(CC) $(CFLAGS) -c $(<D)/a.c -o a.o
	mkdir -p sub1
	$(CC) $(CFLAGS) -c $(<D)/sub1/a.c -o sub1/a.o
	touch -t '198001010000.00' a.o
	touch -t '198001010000.01' sub1/a.o
	$(AR) $(ARFLAGS) $@ a.o sub1/a.o
	rm a.o sub1/a.o

include Makefile.rules

# Needs to come after include
OBJECTS += libfoo.a
$(EXE) : libfoo.a
.DEFAULT_GOAL := $(EXE)