交叉编译中需要谨慎make的隐晦规则
发布时间:2021-11-20 17:41:03 所属栏目:教程 来源:互联网
导读:熟悉Linux的都知道,GUN 的make工具在生成可执行程序的过程中为我们提供了非常大的便利。不过要写出高效、简洁的Makefile可就不那么容易了(比如像我这样的菜鸟)。偶最近在进一步学习Makefile,就把遇到的问题以及自己的小小心得写出来,需要指正的大家尽管
熟悉Linux的都知道,GUN 的make工具在生成可执行程序的过程中为我们提供了非常大的便利。不过要写出高效、简洁的Makefile可就不那么容易了(比如像我这样的菜鸟)。偶最近在进一步学习Makefile,就把遇到的问题以及自己的小小心得写出来,需要指正的大家尽管喷^_^ 不罗嗦了,先列出一个案例Makefile CXX :=/opt/buildroot-ralink-mt7620/bin/mipsel-linux-g++ ROOTDIR := /home/yanwei/MTK7620/src CFLAGS := -I$(ROOTDIR)/user/acmgr/include LDFLAGS := -L$(ROOTDIR)/user/acmgr/obj/cmapi -L$(ROOTDIR)/lib/liblog -L$(ROOTDIR)/lib/lib LIB :=-ldl -lpthread -lezxml -llog -ldevutils -lm -lzlog CFLAGS +=-D_GNU_SOURCE -I$(ROOTDIR)/lib/liblog -I$(ROOTDIR)/lib/include LDFLAGS +=-Llib LIB +=-lcmapi CPPFLAGS := $(CFLAGS) SRC := acmgr_client.cc OBJ := $(SRC:.cc=.o) DEF := $(patsubst %.o, %.d, $(OBJ)) all : acmgr_client acmgr_client: $(OBJ) $(CXX) -Wall -Wunused -o acmgr_client $< $(CFLAGS) $(LDFLAGS) $(LIB) .PHONY: all clean clean: -rm acmgr_client *.o -include $(DEF) ![]() (编辑:江门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |