⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rules-so.mak

📁 A port of the original STL to many platforms.可以配合多种编译器使用,特别是在使用intel编译器时可以很好的优化代码性能.
💻 MAK
字号:
# -*- makefile -*- Time-stamp: <03/10/27 18:15:05 ptr>
# $Id: rules-so.mak 2384 2006-05-30 20:25:17Z dums $

# Shared libraries tags

PHONY += release-shared dbg-shared stldbg-shared

release-shared:	$(OUTPUT_DIR) ${SO_NAME_OUT}

dbg-shared:	$(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBG}

stldbg-shared:	$(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBG}

ifeq (bcc, $(COMPILER_NAME))
# Borland linker
${SO_NAME_OUT}:	$(OBJ) $(RES) $(LIBSDEP)
	$(LINK.cc) $(subst /,\,$(START_OBJ) $(OBJ) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES))
${SO_NAME_OUT_DBG}:	$(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
	$(LINK.cc) $(subst /,\,$(START_OBJ) $(OBJ_DBG) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES_DBG))
${SO_NAME_OUT_STLDBG}:	$(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
	$(LINK.cc) $(subst /,\,$(START_OBJ) $(OBJ_STLDBG) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES_STLDBG))
else
ifeq (dmc, $(COMPILER_NAME))
# Digital Mars linker
# This linker generate the dll file even if link fail so we also use a
# dependency on the lib file.

$(SO_NAME_OUT):	$(LIB_NAME_OUT)
	$(LINK.cc) $(subst /,\,$(OBJ),$(LINK_OUTPUT_OPTION),$(MAP_OUTPUT_OPTION),$(LDLIBS),$(DEF_OPTION),$(RES))
$(LIB_NAME_OUT): $(OBJ) $(RES) $(LIBSDEP)
	@echo LIBRARY "$(SO_NAME_BASE).dll" > $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo DESCRIPTION 'STLport DLL for Digital Mars C/C++'>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo EXETYPE NT>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo DATA READWRITE>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo.>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo EXPORTS>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
	@echo 	"?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR)/$(SO_NAME_BASE).def

$(SO_NAME_OUT_DBG): $(LIB_NAME_OUT_DBG)
	$(LINK.cc) $(subst /,\,$(OBJ_DBG), $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS), $(DEF_OPTION_DBG), $(RES_DBG))
$(LIB_NAME_OUT_DBG): $(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
	@echo LIBRARY "$(SO_NAME_DBG_BASE).dll" > $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo DESCRIPTION 'STLport DLL for Digital Mars C/C++'>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo EXETYPE NT>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo DATA READWRITE>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo.>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo EXPORTS>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
	@echo 	"?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def

$(SO_NAME_OUT_STLDBG):	$(LIB_NAME_OUT_STLDBG)
	$(LINK.cc) $(subst /,\,$(OBJ_STLDBG), $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS), $(DEF_OPTION_STLDBG), $(RES_STLDBG))
$(LIB_NAME_OUT_STLDBG):	$(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
	@echo LIBRARY "$(SO_NAME_STLDBG_BASE).dll" > $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo DESCRIPTION 'STLport DLL for Digital Mars C/C++'>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo EXETYPE NT>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo DATA READWRITE>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo.>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo EXPORTS>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
	@echo 	"?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A">> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def

else
# GNU linker
${SO_NAME_OUT}:	$(OBJ) $(RES) $(LIBSDEP)
	$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ) $(RES) $(LDLIBS)
${SO_NAME_OUT_DBG}:	$(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
	$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(RES_DBG) $(LDLIBS)
${SO_NAME_OUT_STLDBG}:	$(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
	$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(RES_STLDBG) $(LDLIBS)
endif
endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -