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

📄 makefile

📁 sloedgy open sip stack source code
💻
📖 第 1 页 / 共 2 页
字号:
 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 clean
 
 all-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-shared
 
 libs-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: installincdir
 ifneq ($(PUBLIC_HEADERS),)
 	$(INSTALL) $(PUBLIC_HEADERS) $(incdir)
 endif
 ifneq ($(PUBLIC_HEADER_TREES),)
 	$(INSTALL) -r $(PUBLIC_HEADER_TREES) "$(SWISBSDK)/include"
 endif
 ifneq ($(PUBLIC_SCRIPTS),)
 	$(INSTALL) $(PUBLIC_SCRIPTS) "$(SWISBSDK)/bin"
 endif
 ifneq ($(PUBLIC_CONFIG_FILES),)
 	$(INSTALL) $(PUBLIC_CONFIG_FILES) "$(SWISBSDK)/config"
 endif
 ifneq ($(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=$*_SRC
 
 LDEXPORTS =
 ifdef EXPLICIT_VER_FILES
 LDEXPORTS = --version-script $($(TARGET)_VER)
 endif
 ifndef BUILDING_STUB_SO
 LDFOLLOWLINKS = -Wl,-h,$(notdir $@).$(LIBVER)
 endif
 LDFLAGS_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 + -