makefile

来自「路有算法aodv的linux下的版本」· 代码 · 共 82 行

TXT
82
字号
ifneq (,$(findstring 2.6,$(KERNELRELEASE)))EXTRA_CFLAGS += -D KERNEL26obj-m += kaodv.okaodv-objs := kaodv-main.o kaodv-netlink.o kaodv-queue.o kaodv-ipenc.o kaodv-expl.o elseKOBJS := kaodv-main.o kaodv-netlink.o kaodv-queue.o kaodv-ipenc.o kaodv-expl.oKOBJS_ARM := $(KOBJS:%.o=%-arm.o)KOBJS_MIPS := $(KOBJS:%.o=%-mips.o)KERNEL=$(shell uname -r)KERNEL_DIR=/lib/modules/$(KERNEL)/buildKERNEL_INC=$(KERNEL_DIR)/include# You might want to use gcc32 for the kernel module on Fedora core 1KCC=gccLD=ld# Some shell scripting to find out Linux kernel versionVERSION=$(shell if [ ! -d $(KERNEL_DIR) ]; then echo "No linux source found!!! Check your setup..."; exit; fi; grep ^VERSION $(KERNEL_DIR)/Makefile | cut -d' ' -f 3)PATCHLEVEL=$(shell grep ^PATCHLEVEL $(KERNEL_DIR)/Makefile | cut -d' ' -f 3)SUBLEVEL=$(shell grep ^SUBLEVEL $(KERNEL_DIR)/Makefile | cut -d' ' -f 3)# These are the options for the kernel module with kernel 2.4.x:#==============================================KINC=-nostdinc -DMODVERSIONS -include $(KERNEL_INC)/linux/modversions.h $(shell $(CC) -print-search-dirs | sed -ne 's/install: \(.*\)/-I \1include/gp') -I$(KERNEL_INC)KDEFS=-D__KERNEL__ -DMODULEKCFLAGS=-Wall -Wno-strict-aliasing -O2 $(KDEFS) $(KINC)KCFLAGS_ARM=-Wall -O2 -D__KERNEL__ -DMODULE -nostdinc $(shell $(ARM_CC) -print-search-dirs | sed -ne 's/install: \(.*\)/-I \1include/gp') -I$(KERNEL_INC)KCFLAGS_MIPS=-Wall -mips2 -O2 -fno-pic -mno-abicalls -mlong-calls -G0 -msoft-float -D__KERNEL__ -DMODULE -nostdinc $(shell $(MIPS_CC) -print-search-dirs | sed -ne 's/install: \(.*\)/-I \1include/gp') -I$(KERNEL_INC).PHONY: clean #default# Check for kernel versionifeq ($(PATCHLEVEL),6)default: kaodv.koelse # Assume kernel 2.4default: kaodv.oendif#default: kaodv.ko$(KOBJS): %.o: %.c Makefile	$(KCC) $(KCFLAGS) -c -o $@ $<$(KOBJS_ARM): %-arm.o: %.c Makefile	$(KCC) $(KCFLAGS_ARM) -D ARM -c -o $@ $<$(KOBJS_MIPS): %-mips.o: %.c Makefile	$(KCC) $(KCFLAGS_MIPS) -D MIPS -c -o $@ $<kaodv.o: $(KOBJS) Makefile	$(LD) -r $(KOBJS) -o $@	cp $@ ../kaodv-arm.o: $(KOBJS_ARM) Makefile	$(LD) -r $(KOBJS_ARM) -o $@	cp $@ ../kaodv.okaodv-mips.o: $(KOBJS_MIPS) Makefile	$(LD) -r $(KOBJS_MIPS) -o $@	cp $@ ../kaodv.okaodv.ko: $(KOBJS:%.o=%.c) Makefile	$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD)/lnx modules	cp $@ ../kaodv-arm.ko: $(KOBJS_ARM:%.o=%.c) Makefile	$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD)/lnx modules	cp $@ ../kaodv.kokaodv-mips.ko: $(KOBJS_MIPS:%.o=%.c) Makefile	$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD)/lnx modules	cp $@ ../kaodv.koclean:	rm -rf *.o *.ko *.mod.* *~ nld .*.d .*.cmd .tmp_versionsendif

⌨️ 快捷键说明

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