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)