📄 dir.mk
字号:
CXXLINKOPTIONS += -L$(PYTHONLIBDIR)omniidl = $(patsubst %,$(BinPattern),omniidl)all:: $(omniidl)export:: $(omniidl) @$(ExportExecutable)clean:: $(RM) $(omniidl)$(omniidl): $(OBJS) $(PYOBJS) @(libs="-lpython$(PYVERSION) -lpthread -lm"; $(CXXExecutable))endifendif############################################################################## Make rules for FreeBSD ##############################################################################ifdef FreeBSDCXXOPTIONS += -fPIClibname = _omniidlmodule.sosoname = $(libname).$(IDLMODULE_MAJOR)lib = $(soname).$(IDLMODULE_MINOR)all:: $(lib)$(lib): $(OBJS) $(PYOBJS) (set -x; \ $(RM) $@; \ $(CXXLINK) $(CXXLINKOPTIONS) -shared -o $@ -Wl,-soname,$(soname) \ $(IMPORT_LIBRARY_FLAGS) \ $(filter-out $(LibSuffixPattern),$^) $(LIBS) -lgcc\ )export:: $(lib) @$(ExportLibrary) @(set -x; \ cd $(EXPORT_TREE)/$(LIBDIR); \ $(RM) $(soname); \ ln -s $(lib) $(soname); \ $(RM) $(libname); \ ln -s $(soname) $(libname); \ )clean:: $(RM) $(lib)endif############################################################################## Make rules for Digital Unix ##############################################################################ifdef OSF1ifeq ($(notdir $(CXX)),cxx)libname = _omniidlmodule.sosoname = $(libname).$(IDLMODULE_MAJOR)lib = $(soname).$(IDLMODULE_MINOR)all:: $(lib)$(lib): $(OBJS) $(PYOBJS) (set -x; \ $(RM) $@; \ ld -shared -soname $(soname) -set_version $(soname) -o $@ $(IMPORT_LIBRARY_FLAGS) \ $(filter-out $(LibSuffixPattern),$^) -lcxxstd -lcxx -lexc -lots -lc \ )clean:: $(RM) $(lib)export:: $(lib) @$(ExportLibrary) @(set -x; \ cd $(EXPORT_TREE)/$(LIBDIR); \ $(RM) $(soname); \ ln -s $(lib) $(soname); \ $(RM) $(libname); \ ln -s $(soname) $(libname); \ )endifendif############################################################################## Make rules for HPUX ##############################################################################ifdef HPUXifeq ($(notdir $(CXX)),aCC)# Note: the python installation must be built to load C++ shared library# this usually means that the main function of the python executable# is compiled and linked with aCC.DIR_CPPFLAGS += +Zlibname = _omniidlmodule.slsoname = $(libname).$(IDLMODULE_MAJOR)lib = $(soname).$(IDLMODULE_MINOR)all:: $(lib)$(lib): $(OBJS) $(PYOBJS) (set -x; \ $(RM) $@; \ aCC -b -Wl,+h$(soname) -o $@ $(IMPORT_LIBRARY_FLAGS) \ $(patsubst %,-L %,$(IMPORT_LIBRARY_DIRS)) \ $(filter-out $(LibSuffixPattern),$^) ; \ )clean:: $(RM) $(lib)export:: $(lib) @$(ExportLibrary) @(set -x; \ cd $(EXPORT_TREE)/$(LIBDIR); \ $(RM) $(soname); \ ln -s $(lib) $(soname); \ $(RM) $(libname); \ ln -s $(soname) $(libname); \ )# The alternative is to build omniidl as an executable by linking in the# python runtime library. Comment out the above and uncomment the following# if this is preferable.### PYLIBDIR := $(PYPREFIX)/lib## DIR_CPPFLAGS += -DOMNIIDL_EXECUTABLE# CXXLINKOPTIONS += -L$(PYLIBDIR)### omniidl = $(patsubst %,$(BinPattern),omniidl)## all:: $(omniidl)## export:: $(omniidl)# @$(ExportExecutable)## clean::# $(RM) $(omniidl)## $(omniidl): $(OBJS) $(PYOBJS)# @(libs="-lpython$(PYVERSION) -lpthread"; $(CXXExecutable))endifendif############################################################################## Make rules for to Reliant Unix ############################################################################### WARNING! These make rules are untestedifdef SINIXifeq ($(notdir $(CXX)),CC)DIR_CPPFLAGS += -Kpiclibname = _omniidlmodule.sosoname = $(libname).$(IDLMODULE_MAJOR)lib = $(soname).$(IDLMODULE_MINOR)$(lib): $(OBJS) $(PYOBJS) (set -x; \ $(RM) $@; \ CC -G -z text -KPIC -o $@ -h $(soname) \ $(IMPORT_LIBRARY_FLAGS) $($(IMPORT_LIBRARY_DIRS)) \ $(filter-out $(LibSuffixPattern),$^); \ )all:: $(lib)clean:: $(RM) $(lib)export:: $(lib) @$(ExportLibrary) @(set -x; \ cd $(EXPORT_TREE)/$(LIBDIR); \ $(RM) $(soname); \ ln -s $(lib) $(soname); \ $(RM) $(libname); \ ln -s $(soname) $(libname); \ )endifendif############################################################################## Make rules for SGI Irix 6.2 ##############################################################################ifdef IRIXifeq ($(notdir $(CXX)),CC)DIR_CPPFLAGS += -KPICifdef IRIX_n32ADD_CPPFLAGS = -n32endififdef IRIX_64ADD_CPPFLAGS = -64endiflibname = _omniidlmodule.sosoname = $(libname).$(IDLMODULE_MAJOR)lib = $(soname).$(IDLMODULE_MINOR)all:: $(lib)$(lib): $(OBJS) $(PYOBJS) (set -x; \ $(RM) $@; \ $(LINK.cc) -KPIC -shared -Wl,-h,$(libname) \ -Wl,-set_version,$(soname) -Wl,-rpath,$(LIBDIR) \ -o $@ $(IMPORT_LIBRARY_FLAGS) $^ $(LDLIBS); \ )clean:: $(RM) $(lib)export:: $(lib) @$(ExportLibrary) @(set -x; \ cd $(EXPORT_TREE)/$(LIBDIR); \ $(RM) $(soname); \ ln -s $(lib) $(soname); \ $(RM) $(libname); \ ln -s $(soname) $(libname); \ )endifendif############################################################################## Make rules for NextStep ##############################################################################ifdef NextStepPYPREFIX = $(shell $(PYTHON) -c "import sys; print sys.exec_prefix")CXXOPTIONS += -I$(PYPREFIX)/includeCXXLINKOPTIONS += -nostdlib -rSO = .solibname = _omniidlmodule$(SO)soname = $(libname).$(IDLMODULE_MAJOR)lib = $(soname).$(IDLMODULE_MINOR)$(lib): $(OBJS) $(PYOBJS) $(CXXLINK) $(CXXLINKOPTIONS) $(OBJS) $(PYOBJS) -o $(lib)all:: $(lib)clean:: $(RM) $(lib)export:: $(lib) @$(ExportLibrary) @(set -x; cd $(EXPORT_TREE)/$(LIBDIR); $(RM) $(soname); ln -s $(lib) $(soname); $(RM) $(libname); ln -s $(soname) $(libname); )endif############################################################################## Make rules for Darwin ##############################################################################ifdef DarwinCXXOPTIONS += $(SHAREDLIB_CPPFLAGS)libname = _omniidlmodule.sosoname = _omniidlmodule.$(IDLMODULE_MAJOR).solib = _omniidlmodule.$(IDLMODULE_MAJOR).$(IDLMODULE_MINOR).so$(lib): $(OBJS) $(PYOBJS) (set -x; \ $(RM) $@; \ $(CXX) -bundle -flat_namespace -undefined suppress -o $@ $(IMPORT_LIBRARY_FLAGS) \ $(filter-out $(LibSuffixPattern),$^) $(LIBS) \ )export:: $(lib) @$(ExportLibrary) @(set -x; \ cd $(EXPORT_TREE)/$(LIBDIR); \ $(RM) $(soname); \ ln -s $(lib) $(soname); \ $(RM) $(libname); \ ln -s $(soname) $(libname); \ )all:: $(lib)clean:: $(RM) $(lib)endif############################################################################## Test executable ############################################################################### all:: $(idlc)# $(idlc): $(OBJS) idlc.o# @(libs=""; $(CXXExecutable))endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -