%{header_in} # Object Files LIBOBJS = %{lib_objs} CLIOBJS = %{cli_objs} TESTOBJS = %{test_objs} # Build Commands %{lib_build_cmds} %{cli_build_cmds} %{test_build_cmds} COPY = copy docs: %{build_doc_commands} # Library targets # # LIB_FILENAME is always the .lib file, that is either a static lib or a # by-product of the DLL creation used to link the DLL into applications LIB_BASENAME = %{lib_basename} LIB_FILENAME = %{out_dir}\$(LIB_BASENAME).lib !If "$(SO_OBJ_FLAGS)" == "" # static lib LIBRARIES = $(LIB_FILENAME) !Else # shared lib SO_FILENAME = %{out_dir}\$(LIB_BASENAME).dll LIBRARIES = $(SO_FILENAME) !Endif # Link Commands $(CLI): $(LIBRARIES) $(CLIOBJS) $(CLI_LINK_CMD) /OUT:$@ $(CLIOBJS) $(LIB_FILENAME) $(CLI_LINKS_TO) $(CLI_POST_LINK_CMD) $(TEST): $(LIBRARIES) $(TESTOBJS) $(TEST_LINK_CMD) /OUT:$@ $(TESTOBJS) $(LIB_FILENAME) $(TEST_LINKS_TO) $(TEST_POST_LINK_CMD) libs: $(LIBRARIES) !If "$(SO_OBJ_FLAGS)" == "" # static lib $(LIB_FILENAME): $(LIBOBJS) $(AR) %{ar_options} /OUT:$@ $(LIBOBJS) !Else # shared lib # Creates the DLL $(SO_FILENAME) and the .lib $(LIB_FILENAME) $(SO_FILENAME): $(LIBOBJS) $(LIB_LINK_CMD) /OUT:$@ $(LIBOBJS) $(LIB_LINKS_TO) !Endif