

OBJ1=abc
BASE=foo
OBJ2=$(BASE)-def.o $(BASE)-ijk.o $(BASE)-xyz.o

all: $(BASE)

%.o: %.c
	touch $@

$(BASE).h:
	touch $(BASE).h
	touch $(patsubst %.o,%.c,$(OBJ2))

$(BASE): $(BASE).h $(OBJ2) $(OBJ1).o
	@echo "it's okay..."

clean:
	rm -f foo* abc.o
