用户态Makefile

SRCS = $(wildcard *.c)
OBJS = $(SRCS:.c = .o)
CC = gcc
INCLUDES = -I/usr/include
LIBS = -L/usr/lib -lpthread
CCFLAGS = -g -Wall -O0
main : $(OBJS)
        $(CC) $^ -o $@ $(INCLUDES) $(LIBS) 
%.o : %.c
        $(CC) -c {1}lt;; $(CCFLAGS) 
clean:
        -rm *.o
        -rm main

内核态Makefile

obj-m := delay_workqueue.o

PWD = $(shell pwd)
KERNELDIR = /lib/modules/$(shell uname -r)/build

default: 
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules