CC = gcc CFLAGS = -Wall PROG = helloworld HPTEST = hptest UDIR = $(PWD)/user MDIR := $(PWD)/kernel KDIR := $(PWD)/linux-5.17.15 # 内核源码目录 TDIR := $(PWD)/testcase BUILD_DIR := $(PWD)/build OUTPUT_DIR = $(PWD)/build # KMOD = variable_monitor # obj-m := kernel/$(KMOD).o # $(KMOD)-objs := kernel/monitor_kernel.o all: $(PROG) $(HPTEST) module $(PROG): $(TDIR)/helloworld.c $(CC) $(CFLAGS) -o $(OUTPUT_DIR)/$(PROG) $(TDIR)/helloworld.c $(UDIR)/monitor_user.c $(HPTEST): $(TDIR)/helloworld.c $(CC) $(CFLAGS) -o $(OUTPUT_DIR)/$(HPTEST) $(TDIR)/hptest.c $(UDIR)/monitor_user.c module: make -C $(KDIR) M=$(MDIR) modules # module: # make -C linux-5.17.15 M=$(PWD)/kernel modules clean: rm -f $(OUTPUT_DIR)/* make -C $(KDIR) M=$(MDIR) clean