LIBRARY = libvector.a LIBOBJS = Vector.o HashVector.o LIBOBJS += Tuple.o TupleSchema.o integeritem.o stringitem.o Binding.o LIBOBJS += BindingTable.o Relation.o Query.o LIBOBJS += AssignQuery.o RelationQuery.o LIBOBJS += NotQuery.o AndQuery.o OrQuery.o #LIBOBJS += View.o default: $(LIBRARY) all: default CFLAGS = -Wall -g -fmax-errors=1 -I. LDLIBS = -lm %.h: echo "#ifndef ${@:.h=_H}" > $@ echo "#define ${@:.h=_H}" >> $@ echo "#endif" >> $@ 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)