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

📄 makefile

📁 实现对solaris和linux的cpu以及mem进行监控。
💻
字号:
OS=${shell uname}

JAVAHOME=${JAVA_HOME}

JAVAH=${JAVAHOME}/bin/javah

SHARED_LIB=MonitorJniImpl
MONITOR=../lib/monitor.jar

ifeq ($(OS), SunOS)
	LDLIB=-lkstat
	INCLUDES = -I${JAVAHOME}/include -I${JAVAHOME}/include/solaris
	CFLAGS=-W -fpic
	SO=../lib/solaris/lib${SHARED_LIB}.so
endif

ifeq (${OS}, Linux)
	INCLUDES = -I${JAVAHOME}/include -I${JAVAHOME}/include/linux
	CFLAGS=-W -fpic -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
	SO=../lib/linux/lib${SHARED_LIB}.so
endif

all:${SO} test

javah:  
	${JAVAH} -classpath ${MONITOR} -o ${SHARED_LIB}.h gxlu.ps.monitor.service.${SHARED_LIB} 

${SO}: ${SHARED_LIB}.o 
	gcc -shared -o ${SO} MonitorJniImpl.o MonitorCPUInfo.o ${LDLIB}

${SHARED_LIB}.o: MonitorJniImpl${OS}.c MonitorJniImpl.h MonitorCPUInfo${OS}.c MonitorCPUInfo${OS}.h
	gcc ${CFLAGS} ${INCLUDES} -c MonitorJniImpl${OS}.c -o MonitorJniImpl.o
	gcc ${CFLAGS} ${INCLUDES} -c MonitorCPUInfo${OS}.c -o MonitorCPUInfo.o

test:test${OS}.c MonitorCPUInfo${OS}.c MonitorJniImpl${OS}.c
	gcc -g ${CFLAGS} -o test ${INCLUDES} $^ ${LDLIB}

clean:
	-${RM} *.o ${SO} test

⌨️ 快捷键说明

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