dir.mk

来自「编译工具」· MK 代码 · 共 282 行

MK
282
字号
include $(MAKEFILE_INC_DIR)cosinterfaces.mkinclude $(MAKEFILE_INC_DIR)libdefs.mk# Uncomment the next line to build BOA versions of the COS libraries# BUILD_BOA_COS_LIB = 1# Look for .idl files in <top>/idlvpath %.idl $(IMPORT_TREES:%=%/idl/COS)DIR_IDLFLAGS +=  -I. $(patsubst %,-I%/idl/COS,$(IMPORT_TREES))COS_SKLIB_NAME    = COSCOS_DYNSKLIB_NAME = COSDynamicCOS_SK_OBJS = $(COS_INTERFACES:%=%SK.o)COS_SK_SRCS = $(COS_INTERFACES:%=%SK.cc)COS_DYNSK_OBJS = $(COS_INTERFACES:%=%DynSK.o)COS_DYNSK_SRCS = $(COS_INTERFACES:%=%DynSK.cc)CXXSRCS = $(COS_DYNSK_SRCS) $(COS_SK_SRCS) all:: mkstatic mksharedexport:: mkstatic mksharedexport:: $(COS_INTERFACES:%=%.hh) COS_sysdep.h	@(dir="$(EXPORT_TREE)/$(INCDIR)/COS"; \          for file in $^; do \            $(ExportFileToDir) \          done )ifdef INSTALLTARGETinstall:: $(COS_INTERFACES:%=%.hh) COS_sysdep.h	@(dir="$(INSTALLINCDIR)/COS"; \          for file in $^; do \            $(ExportFileToDir) \          done )endifveryclean::	$(RM) $(COS_INTERFACES:%=%SK.cc) $(COS_INTERFACES:%=%DynSK.cc) \              $(COS_INTERFACES:%=%.hh)ifdef Win32Platform  MSVC_STATICLIB_CXXNODEBUGFLAGS += -D_WINSTATIC  MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATICendififdef Cygwin# there's a bug in gcc 3.2 (build 20020927) that makes gcc crash# when optimizing these files ...CXXDEBUGFLAGS = -O0extralibs += -lomniDynamic4endif############################################################################### Build Static library##############################################################################ifndef NoStaticLibraryversion  := $(word 1,$(subst ., ,$(OMNIORB_VERSION)))sk = static/$(patsubst %,$(LibNoDebugPattern),$(COS_SKLIB_NAME)$(version))dynsk = static/$(patsubst %,$(LibNoDebugPattern),$(COS_DYNSKLIB_NAME)$(version))MDFLAGS += -p static/mkstatic::	@(dir=static; $(CreateDir))mkstatic:: $(sk) $(dynsk) $(sk): $(patsubst %, static/%, $(COS_SK_OBJS))	@$(StaticLinkLibrary)$(dynsk): $(patsubst %, static/%, $(COS_DYNSK_OBJS))	@$(StaticLinkLibrary)export:: $(sk)	@$(ExportLibrary)export:: $(dynsk)	@$(ExportLibrary)ifdef INSTALLTARGETinstall:: $(sk)	@$(InstallLibrary)install:: $(dynsk)	@$(InstallLibrary)endifclean::	$(RM) static/*.o	$(RM) $(sk) $(dynsk)elsemkstatic::endif############################################################################### Build Shared library##############################################################################ifdef BuildSharedLibrarysharedversion = $(OMNIORB_VERSION)sknamespec    = $(subst ., ,$(COS_SKLIB_NAME).$(sharedversion))skshared      = shared/$(shell $(SharedLibraryFullName) $(sknamespec))dynsknamespec = $(subst ., ,$(COS_DYNSKLIB_NAME).$(sharedversion))dynskshared   = shared/$(shell $(SharedLibraryFullName) $(dynsknamespec))MDFLAGS += -p shared/ifdef Win32Platform# in case of Win32 lossage:imps := $(patsubst $(DLLDebugSearchPattern),$(DLLNoDebugSearchPattern), \         $(OMNIORB_LIB))dynimps := $(skshared) $(patsubst $(DLLDebugSearchPattern),$(DLLNoDebugSearchPattern), \         $(OMNIORB_LIB))elseifdef AIXimps := $(OMNIORB_LIB)dynimps := $(OMNIORB_LIB)elseimps := $(OMNIORB_LIB_NODYN)dynimps := $(OMNIORB_LIB)endifendifmkshared::	@(dir=shared; $(CreateDir))mkshared:: $(skshared) $(dynskshared) $(skshared): $(patsubst %, shared/%, $(COS_SK_OBJS))	@(namespec="$(sknamespec)"; extralibs="$(imps) $(extralibs)"; \         $(MakeCXXSharedLibrary))$(dynskshared): $(patsubst %, shared/%, $(COS_DYNSK_OBJS))	@(namespec="$(dynsknamespec)"; extralibs="$(dynimps)"; \         $(MakeCXXSharedLibrary))export:: $(skshared)	@(namespec="$(sknamespec)"; \         $(ExportSharedLibrary))export:: $(dynskshared)	@(namespec="$(dynsknamespec)"; \         $(ExportSharedLibrary))ifdef INSTALLTARGETinstall:: $(skshared)	@(namespec="$(sknamespec)"; \         $(InstallSharedLibrary))install:: $(dynskshared)	@(namespec="$(dynsknamespec)"; \         $(InstallSharedLibrary))endifclean::	$(RM) shared/*.o	(dir=shared; $(CleanSharedLibrary))elsemkshared::endif############################################################################### Build debug libraries for Win32##############################################################################ifdef Win32Platformall:: mkstaticdbug mkshareddbugexport:: mkstaticdbug mkshareddbug######################################################      Static debug libraries#####################################################dbugversion = $(word 1,$(subst ., ,$(OMNIORB_VERSION)))skdbug = debug/$(patsubst %,$(LibDebugPattern),$(COS_SKLIB_NAME)$(dbugversion))dynskdbug = debug/$(patsubst %,$(LibDebugPattern),$(COS_DYNSKLIB_NAME)$(dbugversion))MDFLAGS += -p debug/mkstaticdbug::	@(dir=debug; $(CreateDir))mkstaticdbug:: $(skdbug) $(dynskdbug)$(skdbug): $(patsubst %, debug/%, $(COS_SK_OBJS))	@$(StaticLinkLibrary)$(dynskdbug): $(patsubst %, debug/%, $(COS_DYNSK_OBJS))	@$(StaticLinkLibrary)export:: $(skdbug)	@$(ExportLibrary)export:: $(dynskdbug)	@$(ExportLibrary)clean::	$(RM) debug/*.o	$(RM) $(skdbug) $(dynskdbug)######################################################      DLL debug libraries#####################################################shareddbugversion = $(OMNIORB_VERSION)sknamespec      = $(subst ., ,$(COS_SKLIB_NAME).$(shareddbugversion))skshareddbug    = shareddebug/$(shell $(SharedLibraryDebugFullName) $(sknamespec))dynsknamespec   = $(subst ., ,$(COS_DYNSKLIB_NAME).$(shareddbugversion))dynskshareddbug = shareddebug/$(shell $(SharedLibraryDebugFullName) $(dynsknamespec))dbugimps  := $(patsubst $(DLLNoDebugSearchPattern),$(DLLDebugSearchPattern), \               $(OMNIORB_LIB))MDFLAGS += -p shareddebug/mkshareddbug::	@(dir=shareddebug; $(CreateDir))mkshareddbug:: $(skshareddbug) $(dynskshareddbug)$(skshareddbug): $(patsubst %, shareddebug/%, $(COS_SK_OBJS))	(namespec="$(sknamespec)"; debug=1; extralibs="$(dbugimps) $(extralibs)"; \         $(MakeCXXSharedLibrary))$(dynskshareddbug): $(patsubst %, shareddebug/%, $(COS_DYNSK_OBJS))	@(namespec="$(dynsknamespec)"; debug=1; extralibs="$(skshareddbug) $(dbugimps) $(extralibs)"; \         $(MakeCXXSharedLibrary))export:: $(skshareddbug)	@(namespec="$(sknamespec)" debug=1; \         $(ExportSharedLibrary))export:: $(dynskshareddbug)	@(namespec="$(dynsknamespec)" debug=1; \         $(ExportSharedLibrary))clean::	$(RM) shareddebug/*.o	@(dir=shareddebug; $(CleanSharedLibrary))endif############################################################################### Build Subdirectories##############################################################################ifdef BUILD_BOA_COS_LIBSUBDIRS = mkBOAlibendifall::	@$(MakeSubdirs)export::	@$(MakeSubdirs)ifdef INSTALLTARGETinstall::	@$(MakeSubdirs)endif

⌨️ 快捷键说明

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