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

📄 module.mk

📁 linux下获取一些环境信息的代码
💻 MK
字号:
# This file gets included into the main Makefile, in the top directory.# Ideally, we want something like this:## /lib/libproc.so.w        ELF soname ('w' is a digit, starting from 1)# /lib/procps-x.y.z.so     file itself (x.y.z is the procps version)# /lib/libproc.so          for linking, UNSUPPORTED# /usr/lib/libproc.a       for linking, UNSUPPORTED# proc/libproc.so.w        as above, if testing with LD_LIBRARY_PATH# proc/whatever            if testing with LD_PRELOAD# proc/libproc.a           for static build## Without a stable ABI, there's no point in having any of that.# Without a stable API, there's no point in having the *.a file.## A new ELF soname is required for every big ABI change. To conserve# numbers for future use, the ELF soname can be set equal to the# file name until some future date when a stable ABI is declared.SHARED     := 1# for lib$(NAME).so and /usr/include/($NAME) and suchNAME       :=  procLIBVERSION := $(VERSION).$(SUBVERSION).$(MINORVERSION)ABIVERSION := 0SOFILE     := lib$(NAME)-$(LIBVERSION).soifneq ($(ABIVERSION),0)SOLINK     := lib$(NAME).soSONAME     := lib$(NAME).so.$(ABIVERSION)elseSONAME     := $(SOFILE)SOLINK     := $(SOFILE)endifANAME      := lib$(NAME).a############FPIC       := -fpicifeq ($(SHARED),1)ALL        += proc/$(SONAME)INSTALL    += ldconfigLIBFLAGS   := -DSHARED=1 $(FPIC)# This is in gcc 3.5, but exported functions must be marked.#LIBFLAGS += $(call check_gcc,-fvisibility=hidden,)LIBPROC    := proc/$(SONAME)elseALL        += proc/$(ANAME)#INSTALL    += $(usr/lib)$(ANAME)LIBFLAGS   := -DSHARED=0LIBPROC    := proc/$(ANAME)endifLIBSRC :=  $(wildcard proc/*.c)LIBHDR :=  $(wildcard proc/*.h)LIBOBJ :=  $(LIBSRC:.c=.o)# Separate rule for this directory, to use -fpic or -fPIC$(filter-out proc/version.o,$(LIBOBJ)): proc/%.o: proc/%.c	$(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(LIBFLAGS) $< -o $@LIB_X := COPYING module.mk library.mapTARFILES += $(LIBSRC) $(LIBHDR) $(addprefix proc/,$(LIB_X))# Clean away all output files, .depend, and symlinks.# Use wildcards in case the version has changed.CLEAN += proc/.depend proc/lib*.so* proc/lib*.a $(LIBOBJ)DIRS  += proc/proc/$(ANAME): $(LIBOBJ)	$(AR) rcs $@ $^#proc/$(SONAME): proc/library.mapproc/$(SONAME): $(LIBOBJ)	$(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -shared -Wl,-soname,$(SONAME) -Wl,--version-script=proc/library.map -o $@ $^ -lc# AUTOMATIC DEPENDENCY GENERATION -- GCC AND GNUMAKE DEPENDENTproc/.depend: $(LIBSRC) $(LIBHDR)	$(strip $(CC) $(ALL_CPPFLAGS) $(LIB_CFLAGS) -MM -MG $(LIBSRC) > $@)ifneq ($(MAKECMDGOALS),clean)ifneq ($(MAKECMDGOALS),tar)ifneq ($(MAKECMDGOALS),extratar)ifneq ($(MAKECMDGOALS),beta)-include proc/.dependendifendifendifendif#################### install rules ###########################$(lib)$(SOFILE) : proc/$(SONAME)	$(install) --mode a=rx $< $@ifneq ($(SOLINK),$(SOFILE)).PHONY: $(lib)$(SOLINK)$(lib)$(SOLINK) : $(lib)$(SOFILE)	cd $(lib) && $(ln_sf) $(SOFILE) $(SOLINK)endififneq ($(SONAME),$(SOFILE)).PHONY: $(lib)$(SONAME)$(lib)$(SONAME) : $(lib)$(SOFILE)	cd $(lib) && $(ln_sf) $(SOFILE) $(SONAME)endif.PHONY: ldconfigldconfig : $(lib)$(SONAME) $(lib)$(SOLINK)	$(ldconfig)$(usr/lib)$(ANAME) : proc/$(ANAME)	$(install) --mode a=r $< $@# Junk anyway... supposed to go in /usr/include/$(NAME)#INSTALL += $(addprefix $(include),$(HDRFILES))##$(addprefix $(include),$(HDRFILES)): $(include)% : proc/%#$(include)% : proc/%#	$(install) --mode a=r $< $@##################################################################proc/version.o:	proc/version.c proc/version.h	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(LIBFLAGS) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -DMINORVERSION=\"$(MINORVERSION)\" -c -o $@ $<

⌨️ 快捷键说明

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