Слияние кода завершено, страница обновится автоматически
ifeq ($(P),1)
obj-m := gtp.o plugin_example.o
else
obj-m := gtp.o
endif
MODULEVERSION := 20140510+
KERNELVERSION ?= $(shell uname -r)
KERNELDIR ?= /lib/modules/$(KERNELVERSION)/build/
CROSS_COMPILE ?=
MODULEDIR ?= /lib/modules/$(KERNELVERSION)/lib/
#ARCH ?= i386
#ARCH ?= x86_64
#ARCH ?= mips
#ARCH ?= arm
export CONFIG_DEBUG_INFO=y
PWD := $(shell pwd)
ifeq ($(D),1)
EXTRA_CFLAGS += -DGTPDEBUG
endif
ifeq ($(AUTO),0)
EXTRA_CFLAGS += -DGTP_NO_AUTO_BUILD
endif
ifeq ($(FRAME_ALLOC_RECORD),1)
EXTRA_CFLAGS += -DFRAME_ALLOC_RECORD
endif
ifeq ($(FRAME_SIMPLE),1)
EXTRA_CFLAGS += -DGTP_FRAME_SIMPLE
endif
ifeq ($(CLOCK_CYCLE),1)
EXTRA_CFLAGS += -DGTP_CLOCK_CYCLE
endif
ifeq ($(USE_PROC),1)
EXTRA_CFLAGS += -DUSE_PROC
endif
ifeq ($(NO_WARNING),1)
EXTRA_CFLAGS += -DNO_WARNING
endif
DKMS_FILES := Makefile dkms.conf dkms_others_install.sh \
dkms_others_uninstall.sh gtp.c gtp_rb.c ring_buffer.c \
ring_buffer.h getmod.c getframe.c putgtprsp.c getgtprsp.pl \
howto.txt
default: gtp.ko getmod getframe putgtprsp
clean:
rm -rf getmod
rm -rf getframe
rm -rf putgtprsp
rm -rf *.o
rm -rf *.ko
rm -rf .tmp_versions/
rm -rf Module.symvers
install: module_install others_install
uninstall: module_uninstall others_uninstall
dkms:
mkdir -p /usr/src/kgtp-$(MODULEVERSION)/
cp $(DKMS_FILES) /usr/src/kgtp-$(MODULEVERSION)/
module_install: gtp.ko
mkdir -p $(MODULEDIR)
cp gtp.ko $(MODULEDIR)
depmod -a
module_uninstall:
rm -rf $(MODULEDIR)gtp.ko
depmod -a
others_install: program_install
others_uninstall: program_uninstall
program_install: getmod getframe putgtprsp
cp getmod /sbin/
chmod 700 /sbin/getmod
cp getframe /sbin/
chmod 700 /sbin/getframe
cp putgtprsp /sbin/
chmod 700 /sbin/putgtprsp
cp getgtprsp.pl /bin/
chmod 755 /bin/getgtprsp.pl
cp getmod.py /bin/
chmod 644 /bin/getmod.py
program_uninstall:
rm -rf /sbin/getmod
rm -rf /sbin/getframe
rm -rf /sbin/putgtprsp
rm -rf /bin/getgtprsp.pl
gtp.ko: gtp.c gtp_rb.c ring_buffer.c ring_buffer.h perf_event.c
ifneq ($(ARCH),)
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNELDIR) M=$(PWD) modules
else
$(MAKE) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNELDIR) M=$(PWD) modules
endif
getmod: getmod.c
ifeq ($(D),1)
$(CROSS_COMPILE)gcc -g -static -o getmod getmod.c
else
$(CROSS_COMPILE)gcc -O2 -static -o getmod getmod.c
endif
getframe: getframe.c
ifeq ($(D),1)
$(CROSS_COMPILE)gcc -g -static -o getframe getframe.c
else
$(CROSS_COMPILE)gcc -O2 -static -o getframe getframe.c
endif
putgtprsp: putgtprsp.c
ifeq ($(D),1)
$(CROSS_COMPILE)gcc -g -static -o putgtprsp putgtprsp.c
else
$(CROSS_COMPILE)gcc -O2 -static -o putgtprsp putgtprsp.c
endif
plugin_example.ko: plugin_example.c gtp_plugin.h
ifneq ($(ARCH),)
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNELDIR) M=$(PWD) modules
else
$(MAKE) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNELDIR) M=$(PWD) modules
endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )