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

📄 make.rules

📁 linux下traceroute的实现
💻 RULES
字号:
##   Copyright (c) 2000, 2001, 2007	Dmitry Butskoy#					<buc@citadel.stu.neva.ru>#   License:  GPL v2 or any later##   See COPYING for the status of this software.###   Common rule and variable definitions.#   This file should be included by main and by per-target Makefiles.#ifndef srcdir$(error srcdir variable not defined)endifMAKE = make --no-print-directory -r#  Use env=yes on cmdline to inherit environment valuesifeq ($(env),yes)define set$(eval ifneq ($$(origin $(1)),environment)$(1) = $(2)elseoverride MAKE := $(1)="$($(strip $(1)))" $(MAKE)endif)endefelseset = $(eval $(1) = $(2))endif$(call set, CROSS, )$(call set, CC, $$(CROSS)gcc)$(call set, AS, $$(CROSS)as)$(call set, LD, $$(CROSS)ld)$(call set, DEPEND, $$(CROSS)gcc -MM -MG)$(call set, AR, $$(CROSS)ar)$(call set, RANLIB, $$(CROSS)ranlib)$(call set, INSTALL, cp)$(call set, INDENT, true)gcc = $(findstring gcc,$(CC))$(call set, CFLAGS, $(if $(gcc), -O2 -Wall, -O))$(call set, CPPFLAGS, )$(call set, LDFLAGS, -s)$(call set, LIBS, )#  install stuffprefix = /usr/localexec_prefix = $(prefix)bindir = $(exec_prefix)/binsbindir = $(exec_prefix)/sbinlibdir = $(exec_prefix)/liblibexecdir = $(exec_prefix)/libexec/$(NAME)sysconfdir = $(prefix)/etcincludedir = $(prefix)/includedatadir = $(prefix)/sharemandir = $(datadir)/maninfodir = $(datadir)/infolocalstatedir = $(prefix)/varsharedstatedir = $(prefix)/comDESTDIR =#  layout stuffSKIPDIRS = tmp%INCLUDEDIRS = include%LIBDIRS = lib%MODDIRS = mod%SKIPINSTALL = test%include $(srcdir)/Make.definesifndef NAMENAME = $(notdir $(srcdir))endififndef subdirsifeq ($(TARGET),.MAIN)# for better performance...subdirs := $(patsubst %/,%,$(wildcard */))elsesubdirs := $(patsubst $(srcdir)/%/,%,$(filter %/,$(wildcard $(srcdir)/*/)))endifsubdirs := $(filter-out $(SKIPDIRS), $(subdirs))endifinstall install-%: subdirs := $(filter-out $(SKIPINSTALL), $(subdirs))override MAKE += srcdir=$(srcdir) subdirs="$(subdirs)" shared=$(shared)INCLUDEDIRS := $(filter $(INCLUDEDIRS), $(subdirs))LIBDIRS := $(filter $(LIBDIRS), $(subdirs))MODDIRS := $(filter $(MODDIRS), $(subdirs))EXEDIRS := $(filter-out $(INCLUDEDIRS) $(LIBDIRS) $(MODDIRS), $(subdirs))MODUSERS := $(filter $(MODUSERS), $(subdirs))SBINUSERS := $(filter $(SBINUSERS), $(subdirs))LIBDIRS := $(filter-out $(LIBLAST),$(LIBDIRS)) $(filter $(LIBDIRS),$(LIBLAST))includes = $(foreach dir, $(INCLUDEDIRS) $(LIBDIRS), $(srcdir)/$(dir))libraries = $(foreach dir, $(filter lib%,$(LIBDIRS)), $(srcdir)/$(dir))vpath lib%.so $(libraries)vpath lib%.a $(libraries)_libs = $(strip $(foreach lib,$(LIBDIRS),\		    $(if $(filter lib%,$(lib)),\			$(patsubst lib%,-l%,$(lib)),\			$(wildcard $(srcdir)/$(lib)/$(lib).so \					$(srcdir)/$(lib)/$(lib).a))))override LIBS := $(_libs) -lm $(LIBS)ifneq ($(gcc),)CPATH = $(subst $(empty) ,:,$(includes))LIBRARY_PATH = $(subst $(empty) ,:,$(libraries))export CPATH LIBRARY_PATHelseoverride CPPFLAGS += $(patsubst %,-I%,$(includes))override LIBS += $(patsubst %,-L%,$(libraries))endifLIBDEPS = $(filter-out -L%,$(LIBS))##	SUBDIRS	    STUFF#ifneq ($(TARGET),.MAIN)obj := oifeq ($(shared),yes)ifneq ($(PIC),no)ifeq ($(filter $(TARGET),$(LIBDIRS) $(MODDIRS) .MODULE),$(TARGET))obj := loendifendifendifsources = $(wildcard *.c)OBJS = $(sources:.c=.$(obj)).PHONY: dummy all depend install clean forcedummy: allclean:	rm -f *.o *.a *.lo *.so $(TARGET) core a.outifneq ($(sources),)depend: $(sources)	$(DEPEND) $(CFLAGS) $(CPPFLAGS) $^ >.dependelsedepend:	@trueendif%.o: %.c	$(CC) $(CFLAGS) $(CPPFLAGS) -c $*.c%.lo: %.c	$(CC) -fPIC $(CFLAGS) $(CPPFLAGS) -o $*.lo -c $*.c%.o: %.s	$(AS) -o $*.o $*.s%.o: %.S	$(CC) -traditional $(CPPFLAGS) -c $*.S# include if it is present only...ifeq (.depend, $(wildcard .depend))include .dependendifendif##  ...end of SUBDIRS STUFF#

⌨️ 快捷键说明

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