default: ${BIN}
-CFLAGS = -Wall -I../vector -g -fmax-errors=1
-LDLIBS = -L../vector -lvector
+RRQLIBS = logic vector typing
+INCDIRS = $(addprefix -I../,$(RRQLIBS))
+$(foreach L,$(RRQLIBS),$(eval LDLIBS += -L../$L -lrrq$L))
+
+CFLAGS = -Wall $(INCDIRS)
+CFLAGS += -g -fmax-errors=1
+LDLIBS += -lm
.INTERMEDIATE: ${OBJ}