驱动的makefile
obj-m:=HelloWorld.o KDIR:=/home/god/Desktop/raspberry/linux # path of kernel file PWD:=$(shell pwd) # path of current file all: $(MAKE) -C $(KDIR) M=$(PWD) modules @rm -rf *.mod.* @rm -rf *.o @rm -rf Module.* @rm -rf modules.* clean: $(MAKE) -C $(KDIR) M=$(PWD) clean
变量 obj-m、M 是内核文件夹下 makefile 要用到的变量
make -C 表示会先进入路径 KDIR 下,然后生成目标 modules
驱动的 makefile 没有使用编译器
应用的makefile
EXEC = can_test OBJS = can_test.o SRC = can_test.c CC = arm-none-linux-gnueabi-gcc CFLAGS += LDFLAGS += all:$(EXEC) $(EXEC):$(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) %.o:%.c $(CC) $(CFLAGS) -c $< -o $@ clean: @rm -vf $(EXEC) *.o
直接调用编译器