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

📄 makefile

📁 OSB-PIK-OpenVXI-3.0.0源代码 “中国XML论坛 - 专业的XML技术讨论区--XML在语音技术中的应用”
💻
字号:
#***************License************************************************## Copyright 2000-2002.  SpeechWorks International, Inc.  All rights reserved.## Use of this software is subject to certain restrictions and limitations# set forth in a license agreement entered into between SpeechWorks# International Inc. and the licensee of this software.  Please refer # to the license agreement for license use rights and restrictions. ## SpeechWorks is a registered trademark, and SpeechWorks Here,# DialogModules and the SpeechWorks logo are trademarks of SpeechWorks# International, Inc. in the United States and other countries.# #**********************************************************************## swichar, SpeechWorks character function library# UNIX make file ###**********************************************************************/#--------------------------------# Required Environment Variables#--------------------------------SHELL = /bin/shPRODUCT_LIB_PREFIX=SBifndef SWISBSDK$(error The environment variable SWISBSDK is not defined (it should point to your baseline directory))endif#--------------------# Platform macros#--------------------PROJ_ROOT = ..CPU = i386OS = linuxPLATFORM = $(CPU)-$(OS)MAKE_CPU = $(CPU)MAKE_OS = $(OS)PERL = $(shell which perl)MAKEFILE = MakefileCC = gccCXX = g++#-----------------------------------------# Set up macros for different config's#-----------------------------------------ifndef CFGCFG = debugendififeq ("$(CFG)","debug")CFG_SUFFIX = DCFLAGS_CFG = $(CFLAGS_DEBUG)elseifeq ("$(CFG)","release")CFG_SUFFIX =CFLAGS_CFG = $(CFLAGS_RELEASE)else$(error CFG is not a legal type - should be debug or release)endifendif#---------------------# Directories#---------------------PWD := $(shell pwd)BUILD_ROOT := buildBUILD_ROOT_PLT = $(BUILD_ROOT)/$(PLATFORM)BUILDDIR = $(BUILD_ROOT_PLT)/$(CFG)PLATFORMDIR = $(PROJ_ROOT)/$(PLATFORM)SRCPATH = $(PLATFORMDIR)/src## SWISBSDK Install Directories#bindir = $(SWISBSDK)/binlibdir = $(SWISBSDK)/libincdir = $(SWISBSDK)/include## Build Area directories#buildbindir = $(BUILDDIR)/binbuildlibdir = $(BUILDDIR)/lib#------------------------# C/C++ compiler flags#------------------------CC = gccCXX = g++CFLAGS_GENERAL = -D_$(CPU)_ \	         -D_$(OS)_ \	         -I$(PROJ_ROOT)/$(PLATFORM)/include \	         -I$(PROJ_ROOT)/include \	         -I$(SWISBSDK)/include \	         -I./include \	         -I./ \	         -D_SIMPLE_R \	         -D_REENTRANT \	         -D_GNU_SOURCE \	         -D__THREADEDANSIFLAGS = -pedantic \	    -Wall \	    -Wcast-qual \	    -Wcast-align \	    -Wmissing-prototypes \	    -Wstrict-prototypes \	    -WtraditionalC_ANSIFLAGS = $(ANSIFLAGS) \	      -Wid-clash-31CXX_ANSIFLAGS = $(ANSIFLAGS)ifdef STRICTCFLAGS_GENERAL += $(ANSIFLAGS)endif# -g     debug symbols# -O0 	 No Optimization for debug# -fPIC  Generate Position Independant codeCFLAGS_DEBUG = -g -O0 -fPIC# -s     strip symbols# -O2    Optimize for release# -fPIC  Generate Position Independant codeCFLAGS_RELEASE = -DNDEBUG -s -O2 -fPIC#----------------------------------------# Link Flags#----------------------------------------LDFLAGS += -L$(buildlibdir) $(PROJ_LDFLAGS) $($(TARGET)_LDFLAGS) $(LDFLAGS_$(OS)) -L$(SWISBSDK)/libLDFLAGS_SHARED = -sharedLDLIBS += $($(TARGET)_LDLIBS)ifdef STATICLDLIBS += $($(TARGET)_LDLIBS_STATIC)endifLDLIBS += -lstdc++ -lpthread -ldlLDFLAGS += -Wl,-rpath-link=$(SWISBSDK)/lib:$(PROJ_RPATH_LINK)#--------------------------------# General Programs#--------------------------------CHMOD = chmodCHMODFLAGS = go-w,a-xCHMODFLAGSX = go-w,a+xINSTALL = cp -pINSTALL_PROGRAM = $(INSTALL)INSTALL_DATA = $(INSTALL)MKDIRS = ../VXIinterfaces/mkinstalldirsRMDIR = rmdirRMCLEAN = rm -rf#-------------------------------------------# Final Values#-------------------------------------------CFLAGS = $(CFLAGS_CFG) $(CFLAGS_GENERAL) $(MYCFLAGS)CXXFLAGS = $(CFLAGS_CFG) $(CFLAGS_GENERAL) $(MYCFLAGS)CPPFLAGS = $(PROJ_CFLAGS) $(CFLAGS_$(OS)) $($(TARGET)_CFLAGS)#============================================================================# Build sources#============================================================================PUBLIC_HEADERS = \  include/SWIstring.h \  include/SWIutfconversions.h \  include/SWIprintf.h \  include/SWIchar.h# Mask the exports of shared objects by explicitly listing public functionsEXPLICIT_VER_FILES = 1# Set defaults for the library version and product name burnt into# shared librariesLIBVER = 3# Define shared libaries to be build# multiple libries seperated by spaceLIBS = $(PRODUCT_LIB_PREFIX)char# Define library sources$(PRODUCT_LIB_PREFIX)char_SRC = \              SWIstring.c \              SWIutfconversions.c \              SWIprintf.c \              genchar.c \              li_string.c# Define any linked libraries$(PRODUCT_LIB_PREFIX)char_LDLIBS =# Define version file$(PRODUCT_LIB_PREFIX)char_VER = SWIchar.ver#============================================================================# Build Rules#============================================================================all_SRC := $(sort $(foreach target, $(PROGS) $(STATIC_LIBS) $(LIBS), $($(target)_SRC)))progsubdirs := $(sort ./ $(foreach target, $(PROGS), $(dir $($(target)_SRC))))libsubdirs := $(sort ./ $(foreach target, $(STATIC_LIBS) $(LIBS), $(dir $($(target)_SRC))))#-------------------------------------------------# Header file and Include Directories#-------------------------------------------------vpath lib%.a $(patsubst -L%, %, $(filter -L%, $(LDFLAGS))) \	      $(subst :, , $(LD_LIBRARY_PATH)) $(STD_LIBRARY_PATH)ifneq ($(SRCPATH),)vpath %.c $(SRCPATH)vpath %.cc $(SRCPATH)vpath %.cpp $(SRCPATH)vpath %.C $(SRCPATH)vpath %.def $(SRCPATH)vpath %.f $(SRCPATH)vpath %.F $(SRCPATH)vpath %.l $(SRCPATH)vpath %.mod $(SRCPATH)vpath %.p $(SRCPATH)vpath %.r $(SRCPATH)vpath %.s $(SRCPATH)vpath %.sh $(SRCPATH)vpath %.y $(SRCPATH)endif#--------------------------------------------------# Default all target as all-shared#--------------------------------------------------all: all-shared#--------------------------------------------------# .PHONY target declares all possible rules#--------------------------------------------------.PHONY: $(PROGS) $(STATIC_LIBS) $(LIBS) \	$(addsuffix -shared, $(STATIC_LIBS) $(LIBS)) \	$(addsuffix -static, $(STATIC_LIBS) $(LIBS)) \	$(addsuffix -install, $(STATIC_LIBS) $(LIBS) $(PROGS)) \	$(addsuffix -install-static, $(STATIC_LIBS) $(LIBS)) \	$(addsuffix -install-shared, $(STATIC_LIBS) $(LIBS)) \	$(addsuffix -install-progs, $(PROGS)) \	$(buildbindir)/installprogsubdirs $(buildlibdir)/installlibsubdirs \	installbuildbindir installbuildlibdir \	installbindir installlibdir \	all progs libs-static libs-shared \	all-libs all-static all-shared \	all-install headers cleanall-static: $(addsuffix -install-static, $(STATIC_LIBS) $(LIBS)) \	    $(addsuffix -install, $(PROGS))all-shared: $(addsuffix -install-static, $(STATIC_LIBS)) \	    $(addsuffix -install-shared, $(LIBS)) \	    $(addsuffix -install, $(PROGS))progs: $(addsuffix -progs, $(PROGS))libs: libs-static libs-sharedlibs-static: $(addsuffix -static, $(STATIC_LIBS) $(LIBS))libs-shared: $(addsuffix -static, $(STATIC_LIBS)) $(addsuffix -shared, $(LIBS))#---------------------------------------------------------------------------# headers copies all the public headers and scripts to the build area#         (normally automatically done when a library, DLL, or program is #         successfully build)#---------------------------------------------------------------------------headers: installincdirifneq ($(PUBLIC_HEADERS),)	$(INSTALL) $(PUBLIC_HEADERS) $(incdir)endififneq ($(PUBLIC_HEADER_TREES),)	$(INSTALL) -r $(PUBLIC_HEADER_TREES) "$(SWISBSDK)/include"endififneq ($(PUBLIC_SCRIPTS),)	$(INSTALL) $(PUBLIC_SCRIPTS) "$(SWISBSDK)/bin"endififneq ($(PUBLIC_CONFIG_FILES),)	$(INSTALL) $(PUBLIC_CONFIG_FILES) "$(SWISBSDK)/config"endififneq ($(PUBLIC_ERROR_FILES),)	$(INSTALL) $(PUBLIC_ERROR_FILES) "$(SWISBSDK)/config"endif#---------------------------------------------------------------------# clean deletes the entire directory tree for the current build config#---------------------------------------------------------------------clean: $(PROJ_CLEAN)	$(RMCLEAN) $(BUILDDIR)	@echo Cleaning up $(BUILDDIR)#--------------------------------------------# Rules to create (install) build subdirs#--------------------------------------------$(buildbindir)/installbinsubdirs:	$(MKDIRS) $(addprefix $(dir $@), $(progsubdirs))	-$(CHMOD) $(CHMODFLAGSX) $(addprefix $(dir $@), $(progsubdirs))$(buildlibdir)/installlibsubdirs:	$(MKDIRS) $(addprefix $(dir $@), $(libsubdirs))	-$(CHMOD) $(CHMODFLAGSX) $(addprefix $(dir $@), $(libsubdirs))installbuildbindir:	$(MKDIRS) $(buildbindir)	-$(CHMOD) $(CHMODFLAGSX) $(buildbindir)installbuildlibdir:	$(MKDIRS) $(buildlibdir)	-$(CHMOD) $(CHMODFLAGSX) $(buildlibdir)installbindir:	$(MKDIRS) $(bindir)	-$(CHMOD) $(CHMODFLAGSX) $(bindir)installlibdir:	$(MKDIRS) $(libdir)	-$(CHMOD) $(CHMODFLAGSX) $(libdir)installincdir:	$(MKDIRS) $(incdir)	-$(CHMOD) $(CHMODFLAGSX) $(incdir)#-----------------------------------------------# Targets #-----------------------------------------------$(addsuffix -install, $(PROGS)): %-install: installbindir %-progs	$(RM) $(bindir)/$*$(CFG_SUFFIX)	$(INSTALL_PROGRAM) $(buildbindir)/$*$(CFG_SUFFIX) $(bindir)$(addsuffix -install, $(STATIC_LIBS) $(LIBS)): %-install: %-install-static %-install-shared$(addsuffix -install-static, $(STATIC_LIBS) $(LIBS)): %-install-static: installlibdir \	                               %-static headers	$(RM) $(libdir)/lib$*$(CFG_SUFFIX).a	$(INSTALL_DATA) $(buildlibdir)/lib$*$(CFG_SUFFIX).a $(libdir)$(addsuffix -install-shared, $(LIBS)): %-install-shared: installlibdir \	                               %-shared headers	$(RM) $(libdir)/lib$*$(CFG_SUFFIX).so.$(LIBVER)	$(INSTALL_DATA) $(buildlibdir)/lib$*$(CFG_SUFFIX).so.$(LIBVER) $(libdir)	$(RM) $(libdir)/lib$*$(CFG_SUFFIX).so	ln -s lib$*$(CFG_SUFFIX).so.$(LIBVER) $(libdir)/lib$*$(CFG_SUFFIX).so#-------------------------------------------# Program Targets#--------------------------------------------$(PROGS): %: %-progs$(addsuffix -progs, $(PROGS)): %-progs: installbuildbindir \	            $(buildbindir)/installbinsubdirs	$(MAKE) -f $(MAKEFILE) $(buildbindir)/$*$(CFG_SUFFIX) TARGET=$* \	DEPS=$*_SRC#--------------------------------------------# Library Targets#--------------------------------------------$(STATIC_LIBS): %: %-static %-shared$(LIBS): %: %-static %-shared$(addsuffix -static, $(STATIC_LIBS) $(LIBS)): %-static: installbuildlibdir \		     $(buildlibdir)/installlibsubdirs	$(MAKE) -f $(MAKEFILE) $(buildlibdir)/lib$*$(CFG_SUFFIX).a TARGET=$* \	DEPS=$*_SRCLDEXPORTS =ifdef EXPLICIT_VER_FILESLDEXPORTS = --version-script $($(TARGET)_VER)endififndef BUILDING_STUB_SOLDFOLLOWLINKS = -Wl,-h,$(notdir $@).$(LIBVER)endifLDFLAGS_SHARED +=  $(LDEXPORTS) $(LDFOLLOWLINKS)$(addsuffix -shared, $(LIBS)): %-shared: installbuildlibdir \		     $(buildlibdir)/installlibsubdirs 	$(MAKE) -f $(MAKEFILE) $(buildlibdir)/lib$*$(CFG_SUFFIX).so TARGET=$* \	DEPS=$*_SRC#-----------------------------------------# Recursive rules#------------------------------------------$(addprefix $(buildbindir)/, $(addsuffix $(CFG_SUFFIX), $(PROGS))): \	    $(addprefix $(buildbindir)/, \	      $(patsubst %.s, %$(CFG_SUFFIX).o, $(filter %.s, $($(DEPS)))) \	      $(patsubst %.c, %$(CFG_SUFFIX).o, $(filter %.c, $($(DEPS)))) \	      $(patsubst %.cc, %$(CFG_SUFFIX).o, $(filter %.cc, $($(DEPS)))) \	      $(patsubst %.cpp, %$(CFG_SUFFIX).o, $(filter %.cpp, $($(DEPS)))) \	      $(patsubst %.C, %$(CFG_SUFFIX).o, $(filter %.C, $($(DEPS)))))	      $(LINK.cc) $(filter %$(CFG_SUFFIX).o, $^) -o $@ $(LDLIBS) $(PROJ_LDLIBS) $(LDLIBS_$(OS))	      -$(CHMOD) $(CHMODFLAGSX) $@$(addprefix $(buildlibdir)/, $(patsubst %, lib%$(CFG_SUFFIX).a, $(STATIC_LIBS) $(LIBS))): \	    $(addprefix $(buildlibdir)/, \	      $(patsubst %.s, %$(CFG_SUFFIX).o, $(filter %.s, $($(DEPS)))) \	      $(patsubst %.c, %$(CFG_SUFFIX).o, $(filter %.c, $($(DEPS)))) \	      $(patsubst %.cc, %$(CFG_SUFFIX).o, $(filter %.cc, $($(DEPS)))) \	      $(patsubst %.cpp, %$(CFG_SUFFIX).o, $(filter %.cpp, $($(DEPS)))) \	      $(patsubst %.C, %$(CFG_SUFFIX).o, $(filter %.C, $($(DEPS)))))	$(RM) $@	$(AR) $(ARFLAGS) $@ $^	-$(CHMOD) $(CHMODFLAGS) $@$(addprefix $(buildlibdir)/, $(patsubst %, lib%$(CFG_SUFFIX).so, $(LIBS))): \	    $(addprefix $(buildlibdir)/, \	      $(patsubst %.s, %$(CFG_SUFFIX).o, $(filter %.s, $($(DEPS)))) \	      $(patsubst %.c, %$(CFG_SUFFIX).o, $(filter %.c, $($(DEPS)))) \	      $(patsubst %.cc, %$(CFG_SUFFIX).o, $(filter %.cc, $($(DEPS)))) \	      $(patsubst %.cpp, %$(CFG_SUFFIX).o, $(filter %.cpp, $($(DEPS)))) \	      $(patsubst %.C, %$(CFG_SUFFIX).o, $(filter %.C, $($(DEPS)))))	$(LINK.cc) $(LDFLAGS_SHARED) $(filter %$(CFG_SUFFIX).o, $^) -o $@.$(LIBVER) $(LDLIBS)	-$(CHMOD) $(CHMODFLAGSX) $@.$(LIBVER)	$(RM) $@	ln -s $(patsubst $(buildlibdir)/%,%, $@).$(LIBVER) $@#---------------------------------------# Object File compilation Rules#----------------------------------------$(buildbindir)/%$(CFG_SUFFIX).o: %.c	$(COMPILE.c)  $(addprefix ${PWD}/,$<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildbindir)/%$(CFG_SUFFIX).o: %.cc	$(COMPILE.cc)  $(addprefix ${PWD}/, $<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildbindir)/%$(CFG_SUFFIX).o: %.cpp	$(COMPILE.cc)  $(addprefix ${PWD}/, $<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildbindir)/%$(CFG_SUFFIX).o: %.C	$(COMPILE.C)  $(addprefix ${PWD}/, $<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildlibdir)/%$(CFG_SUFFIX).o: %.c	$(COMPILE.c)  $(addprefix ${PWD}/, $<) -o $@ 	-$(CHMOD) $(CHMODFLAGS) $@$(buildlibdir)/%$(CFG_SUFFIX).o: %.cc	$(COMPILE.cc) $(addprefix ${PWD}/, $<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildlibdir)/%$(CFG_SUFFIX).o: %.cpp	$(COMPILE.cc) $(addprefix ${PWD}/, $<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildlibdir)/%$(CFG_SUFFIX).o: %.C	$(COMPILE.C)  $(addprefix ${PWD}/, $<) -o $@	-$(CHMOD) $(CHMODFLAGS) $@$(buildlibdir)/%$(CFG_SUFFIX).o: %.s	$(AS) $(ASFLAGS) -o $@ $<	-$(CHMOD) $(CHMODFLAGS) $@

⌨️ 快捷键说明

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