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

📄 makefile

📁 该软件根据网络数据生成NetFlow记录。NetFlow可用于网络规划、负载均衡、安全监控等
💻
字号:
################################################################################                                                                             ##   Copyright 2005 University of Cambridge Computer Laboratory.               ##                                                                             ##   This file is part of Nprobe.                                              ##                                                                             ##   Nprobe is free software; you can redistribute it and/or modify            ##   it under the terms of the GNU General Public License as published by      ##   the Free Software Foundation; either version 2 of the License, or         ##   (at your option) any later version.                                       ##                                                                             ##   Nprobe is distributed in the hope that it will be useful,                 ##   but WITHOUT ANY WARRANTY; without even the implied warranty of            ##   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             ##   GNU General Public License for more details.                              ##                                                                             ##   You should have received a copy of the GNU General Public License         ##   along with Nprobe; if not, write to the Free Software                     ##   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA ##                                                                             ################################################################################## Where to find various stuff## Archive rootNPROBE_ROOT = ../..# Import all relative paths defined at top levelinclude $(NPROBE_ROOT)/Makefile.paths## ***NB***# If making any changes which result in the below lists of paths changing #  in length be sure to edit setup_raw target below accordingly## All tools dirsPY_TOOLS_DIRS = $(ANAL_TOOL_DIR) $(PLOTTER_DIR) $(ANAL_NUT_BOLT_DIR) \		$(PY_TOOLS_DIR)# Additions to $PATH required to run correct Python and find toolsNP_ANAL_PATHS = $(PY_DIR) $(ANAL_SCRIPT_DIR) $(PY_TOOLS_DIRS) $(ANAL_UTILITY_DIR)#NP_ANAL_PATHS = $(ANAL_SCRIPT_DIR) $(PY_TOOLS_DIRS) $(ANAL_UTILITY_DIR)# Pypath components to allow Python runtime to find modulesNP_PYPATHS = $(ANAL_DIR) $(ANAL_UTILITY_DIR) $(PLOTTER_DIR) $(PY_INSTALL_DIR) \		$(PY_TOOLS_DIR)################################################################################# Run make depend if building on different architecture##ifeq ($(OS), $(ARCH))#CHANGE_ARCH=#else#CHANGEARCH=changearch#endif################################################################################ No built-in constants for ia64 gcc - define compilation switch const#ARCH_FIND_IA64 = $(findstring ia64, $(OS))ifeq ($(findstring ia64, $(OS)), ia64)SWIG_ARCH_DEF=-D__ia64__elseSWIG_ARCH_DEF=endif################################################################################# Define trace level for memory allocation debugging#TRACE_MALLOC_LEVEL=#TRACE_MALLOC_LEVEL=-DREC_MALLOC_MED#TRACE_MALLOC_LEVEL=-DREC_MALLOC_MAX#TRACE_MALLOC=-DREC_MALLOC $(TRACE_MALLOC_LEVEL)#TRACE_MALLOC=-DREC_MALLOC################################################################################# Defines for analysis module compilation#NPROBE_DEFINES = -DPROBE_FED -DBIN_REPORT -DDUMP_DEBUG -DCAM_CONFIGSWIG_DEFINES = -DWREAD -DSWIGDEFINES = $(SWIG_DEFINES) $(NPROBE_DEFINES) -DCPRINTF $(TRACE_MALLOC)SWIG_ONLY_DEFINES = -python -shadow -DSWIG_ONLY $(SWIG_ARCH_DEF)################################################################################# cc options and include directives#CCOPT = -Dmain=oldmainINCLUDES = -I. -I$(COMMON_HDR_DIR) -I$(NPROBE_DIR) -I$(NPROBE_MODULE_DIR) \	$(PYTHON_INCLUDES)################################################################################# Standard CFLAGS#CFLAGS = $(CCOPT) $(DEFINES) $(INCLUDES)CC = gcc -g -Wall -fpic###############################################################################AS = asMAKE = make################################################################################ # Where to find source not in this directory#vpath %.c $(COMMON_SRC_DIR)vpath %.h $(COMMON_HDR_DIR)################################################################################# Common C src and headers#NPROBE_CSRC = wread_util.c  http_util.c \	report.c counters.c \	print_util.c print_type.c errstring.c \	cprintf.c malloc_rec.cPYMOD_NPROBE_CSRC = $(addprefix $(COMMON_SRC_DIR)/, $(NPROBE_CSRC))NPROBE_HDRS = http_errdefs.h basic_defs.h service.h\	counters.h np_file.h tcp.h \	http.h flows.h content_t.h \	http_util.h udp.h \	sundry_records.h udp_ns.h \	icmp.h malloc_rec.h procstat.hPYMOD_NPROBE_HDRS = $(addprefix $(COMMON_HDR_DIR)/, $(NPROBE_HDRS))################################################################################# C src and hdrs specific to analysis#PYMOD_ANAL_CSRC = flow_util.c  except.c  cfilter.cPYMOD_ANAL_HDRS =  except.h flow_util.h cfilter.h################################################################################# All the C src and hdrs#PYMOD_CSRC = $(PYMOD_NPROBE_CSRC) $(PYMOD_ANAL_CSRC)PYMOD_HDRS = $(PYMOD_NPROBE_HDRS) $(PYMOD_ANAL_HDRS)################################################################################# .o files required to build analysis interface#PYMOD_NPROBE_OBJ = wread_util.o flow_util.o report.o counters.o print_util.o \	 http_util.o errstring.o except.o nprobe_wrap.o cprintf.o cfilter.o \	malloc_rec.o print_type.o###############################################################################CSRC = $(PYMOD_CSRC)  HDR = $(PYMOD_HDRS)################################################################################# Stuff to copy to install directories## Included modules, shared libs -> install/libANAL_LIB = nprobec.so aanonc.so nprobe.py aanon.py $(filter-out np_bitmaps.py nprobe.py aanon.py, $(shell ls *.py)) np_bitmaps.py################################################################################# How to build it all#generate:	@if [ ! -f $(NPROBE_DIR)/probe_config.h ]; \		then \			$(MAKE) -C $(NPROBE_DIR) $(MFLAGS) config_probe; \	fi	@if [ ! -f $(COMMON_HDR_DIR)/content_t.h ]; \		then \			 $(MAKE) -C $(NPROBE_DIR) $(MFLAGS) content_t; \	fi# Explicit dependency rule for *.o where *.c resides in other dir%.o : %.c	rm -f $@;	$(CC) $(CFLAGS) -c $< -o $@#all: Pymod_nprobe Pymod_aanon installall: nprobe.py nprobec.so aanon.py aanonc.so update_install#changearch: clean depend#	echo $(OS) > last_build.arch# swig-generate and compile analysis interface C and python filesnprobe_wrap.o nprobe.py: nprobe.i $(PYMOD_HDRS)	$(SWIG) $(SWIG_ONLY_DEFINES) -DWREAD -I$(COMMON_HDR_DIR) nprobe.i	$(CC) $(CFLAGS) -DSWIG_ONLY -c nprobe_wrap.cnprobec.so: $(PYMOD_NPROBE_OBJ)	gcc -shared -o $@ $(PYMOD_NPROBE_OBJ)# swig-generate and compile analysis interface anonymisation C and python filesaanon_wrap.o aanon.py: aanon.i $(AANON_HDRS)	$(SWIG) $(SWIG_ONLY_DEFINES) -I$(COMMON_HDR_DIR) aanon.i	$(CC) $(CFLAGS) -c aanon_wrap.c# build interface anonymisationlibraryaanonc.so: aanon_wrap.o	gcc -shared -o aanonc.so aanon_wrap.onp_bitmaps.py: np_bitmaps.pyt $(NP_BITMAPS_GEN)	 $(NP_BITMAPS_GEN)  np_bitmaps.pyt np_bitmaps.py $(NP_BITMAP_DIR)# produce command to set up nprobe analysis paths etc.paths_raw: Makefile	@echo	@echo '***************************************************************'	@echo To set up Nprobe runtime/analysis using archive tree execute: \	\". $(PATHS_SETUP) 1 7 5 $(TCL_TK_LIB) \	$(subst $(NPROBE_ROOT), $(ABS_ROOT_PATH), \	$(NP_ANAL_PATHS) $(NP_PYPATHS))\"	@echo '***************************************************************'	@echo# produce command to set up nprobe analysis paths etc. for installed versionpaths: Makefile	@echo	@echo '***************************************************************'	@echo To set up Nprobe runtime/analysis using installed versions execute: \	\". $(PATHS_SETUP) 1 2 1 $(TCL_TK_LIB) \	$(INSTALL_BIN_DIR) $(PY_DIR) \	$(INSTALL_LIB_DIR)\"	@echo '***************************************************************'	@echo# copy everything useful to install directories, or update as necessaryinstall: install_dirs $(ANAL_LIB)	@cp -uvf $(ANAL_LIB) $(INSTALL_LIB_DIR)setup setup_raw:	$(MAKE) -C $(ANAL_ROOT) $(MFLAGS) $@update_install: install_dirs install_lib#install_bin: $(ANAL_SCRIPTS)#	@cp -fv $? $(INSTALL_BIN_DIR)#	@touch install_bininstall_lib: $(ANAL_LIB)	@cp -fv $? $(INSTALL_LIB_DIR)	@touch install_lib# Create install dirs if necessaryinstall_dirs: 	@if [ ! -d $(INSTALL_LIB_DIR) ]; \		then \			mkdir -p $(INSTALL_LIB_DIR); \			echo Created $(INSTALL_LIB_DIR); \	fi	@if [ ! -d $(INSTALL_BIN_DIR) ]; \		then \			mkdir -p $(INSTALL_BIN_DIR); \			echo Created $(INSTALL_BIN_DIR); \	fitidy:	rm -f *.oclean: tidy	rm -f *wrap* *.so *.pyc nprobe.py aanon.py np_bitmaps.pytest_clean:	if [ -f $(REP_TEST_DATA).gz ];\		then \			rm -vf $(REP_TEST_DATA); \	fi 	rm -vf $(REP_TEST_DATA) $(REP_TEST_DATA).counters \	$(REP_TEST_DATA).r* \	$(TEST_DATA_REP_DIR)/delayed_servers*  $(TEST_DATA_REP_DIR)/server*	rm -vrf $(TEST_DATA_REP_DIR)/*np_retsvery_clean: clean test_clean	rm -vf $(DEPENDENCY_FILE)clobber: very_clean	@rm -vf $(addprefix $(INSTALL_BIN_DIR)/, $(ANAL_SCRIPTS))	@rm -vf $(addprefix $(INSTALL_BIN_DIR)/, $(addsuffix .pyc, $(basename $(ANAL_SCRIPTS)))) 	@rm -vf $(addprefix $(INSTALL_LIB_DIR)/, $(ANAL_LIB)) 	@rm -vf $(addprefix $(INSTALL_LIB_DIR)/, $(addsuffix .pyc, $(basename $(ANAL_LIB))))################################################################################# Build dependencies in three stages:# (i) As normal for C src# (ii) Append for interface hdrs - maintain .h suffix# (iii) Remove unwanted path prefixes#DEPENDENCY_FILE = nprobe_anal.d$(DEPENDENCY_FILE) :	if [ ! -f $(DEPENDENCY_FILE) ]; then touch $(DEPENDENCY_FILE); fidepend: $(DEPENDENCY_FILE) generate	makedepend -f$(DEPENDENCY_FILE) -- $(DEFINES) -- $(INCLUDES) $(CSRC)	makedepend -f$(DEPENDENCY_FILE) -o .h -a -- $(DEFINES) -- $(INCLUDES) $(HDR)	sed -e 's/$(subst /,\/,$(COMMON_SRC_DIR))\///' $(DEPENDENCY_FILE) > deps.tmp	mv deps.tmp $(DEPENDENCY_FILE)include $(DEPENDENCY_FILE)

⌨️ 快捷键说明

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