linux应用程序_1_文本浏览器_7_Makefile_1_支持arm
依据之前的通用Makefile修改:
一、顶层Makefile
1、工具链 :CROSS_COMPILE
2、编译选项:CFLAGS
3、链接选项:LDFLAGS
4、依赖 :obj
二、顶层Makefile.build无需变动
三、子目录Makefile
依赖 :obj
说明:这个Makefile只支持arm板上的显示,没有添加pc机linux控制台显示的库
因此在 display/Makefile 中,依赖不能添加on_pc.o
这里只附上顶层Makefile代码
CROSS_COMPILE = arm-linux-
CC := $(CROSS_COMPILE)gcc
LD := $(CROSS_COMPILE)ld
export CROSS_COMPILE CC LD
TOPDIR := $(shell pwd)/
export TOPDIR
CFLAGS := -Wall -O2 -g
CFLAGS += -I$(PWD)/include -I/usr/include/freetype2 #-I/usr/local/include
export CFLAGS
LDFLAGS := -lm -lfreetype # -lvga -lvgagl
export LDFLAGS
TARGET := built
obj += main.o
obj += draw.o
obj += encoding/
obj += fonts/
obj += display/
all :
make -C ./ -f $(TOPDIR)Makefile.build
$(CC) $(LDFLAGS) -o $(TARGET) built-in.o
clean :
rm -f $(shell find -name "*.o")
rm -f $(TARGET)
distclean :
rm -f $(shell find -name "*.o")
rm -f $(TARGET)
rm -f $(shell find -name "*.d")