LIBRARY = libvector.a LIBOBJS = vector.o hashvector.o LIBOBJS += integeritem.o stringitem.o tupleitem.o relation.o default: $(LIBRARY) all: default CFLAGS = -Wall -g -fmax-errors=1 -I. LDLIBS = -lm define STDCC .INTERMEDIATE: $1.o CLEANRM += $1.o $1.o: $1.c | $1.h endef $(foreach OBJ,$(LIBOBJS:.o=),$(eval $(call STDCC,$(OBJ)))) CLEANRM += $(LIBRARY) $(LIBRARY): $(LIBOBJS) $(AR) r $@ $^ clean: rm -f $(CLEANRM)