VMCF_IDLC_FLAGS = VMCF_INCLUDE = -I $(VMCF_ROOT)/include VMCF_LIBS = $(LIB_PREFIX)vmcf$(LIB_SUFFIX) GEN_HEADERS = $(VMCF_MODULE).h $(VMCF_MODULE)-internal.h GEN_SOURCE = $(VMCF_MODULE)-common.c \ $(VMCF_MODULE)-surrogate.c \ $(VMCF_MODULE)-true.c CLIENT_SOURCE = $(VMCF_MODULE)Client.c CLIENT_OBJS = $(VMCF_MODULE)Client$(OBJ_SUFFIX) \ $(VMCF_MODULE)-common$(OBJ_SUFFIX) \ $(VMCF_MODULE)-surrogate$(OBJ_SUFFIX) CLIENT_EXE = $(VMCF_MODULE)Client$(EXE_SUFFIX) SERVER_SOURCE = $(VMCF_MODULE)Server.c $(VMCF_MODULE)Impl.c SERVER_OBJS = $(VMCF_MODULE)Server$(OBJ_SUFFIX) \ $(VMCF_MODULE)Impl$(OBJ_SUFFIX) \ $(VMCF_MODULE)-common$(OBJ_SUFFIX) \ $(VMCF_MODULE)-true$(OBJ_SUFFIX) SERVER_EXE = $(VMCF_MODULE)Server$(EXE_SUFFIX) .c$(OBJ_SUFFIX): $(CC) $(CFLAGS) $(VMCF_INCLUDE) -c $(<) all: $(CLIENT_EXE) $(SERVER_EXE) clean: -$(RM) $(CLIENT_EXE) $(SERVER_EXE) -$(RM) $(CLIENT_OBJS) $(SERVER_OBJS) -$(RM) $(GEN_SOURCE) -$(RM) $(GEN_HEADERS) $(GEN_HEADERS) $(GEN_SOURCE): $(VMCF_MODULE).idl $(VMCF_IDLC) $(VMCF_IDLC_FLAGS) $(VMCF_IDL_INCLUDE) $(VMCF_DEPENDENTS) $(CLIENT_SOURCE) $(SERVER_SOURCE): $(GEN_HEADERS) $(CLIENT_EXE): $(CLIENT_OBJS) $(CC) -o $(@) $(VMCF_DEPENDENTS) \ $(VMCF_LINK_FLAGS) $(VMCF_LIB_PATH) $(VMCF_LIBS) $(SERVER_EXE): $(SERVER_OBJS) $(CC) -o $(@) $(VMCF_DEPENDENTS) \ $(VMCF_LINK_FLAGS) $(VMCF_LIB_PATH) $(VMCF_LIBS)