# CC = gcc LD = ld RM = rm -f KERN_VER = `uname -r` MARCH = pentium4 COPTS = -O2 KERNDIR = /lib/modules/${KERN_VER}/build INCDIR = ${KERNDIR}/include INCLUDES = -I${INCDIR} -I${INCDIR}/asm-i386/mach-default CFLAGS = -Wall $(COPTS) -D__KERNEL__ -DMODULE ${INCLUDES} -march=${MARCH} \ -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing \ -fno-common -pipe -mpreferred-stack-boundary=2 \ -mregparm=3 -nostdinc -iwithprefix include MODPOST = ${KERNDIR}/scripts/mod/modpost TARGET = hello all: ${TARGET}.ko ${TARGET}.ko : ${TARGET}.mod.o $(LD) -m elf_i386 -r -o ${TARGET}.ko ${TARGET}.o ${TARGET}.mod.o ${TARGET}.mod.o : ${TARGET}.mod.c $(CC) -Wp,-MD,.${TARGET}.mod.o.d ${CFLAGS} -fomit-frame-pointer \ -DKBUILD_BASENAME={TARGET} -DKBUILD_MODNAME=${TARGET} \ -c -o ${TARGET}.mod.o ${TARGET}.mod.c ${TARGET}.mod.c : ${TARGET}.o $(MODPOST) ${TARGET}.o .c.o: $(CC) -Wp,-MD,.${TARGET}.o.d ${CFLAGS} -fomit-frame-pointer \ -DKBUILD_BASENAME=${TARGET} -DKBUILD_MODNAME=${TARGET} -c $< clean: $(RM) ${TARGET}.*o ${TARGET}.mod.c ${TARGET}.mod.o .${TARGET}.*