Makefile sample

Makefile sample

DIR

bin

include

lib

src

main.cpp

Makefile


CROSS_COMPILE	  =arm-linux-gnueabihf-
CC				  =$(CROSS_COMPILE)gcc
CXX				  =$(CROSS_COMPILE)g++
AR                =$(CROSS_COMPILE)ar cqs
OBJCOPY           =$(CROSS_COMPILE)objcopy
NM                =$(CROSS_COMPILE)nm -P
STRIP             =$(CROSS_COMPILE)strip
LD				  =$(CROSS_COMPILE)ld
 
VPATH := ./src:./include
CFLAGS=-I . -I ./include
LIBS +=-L . -L ./lib
 
vpath *.cpp .
vpath *.cpp ./src
vpath *.h .
vpath *.h ./include
 
SRC+=$(shell ls *.cpp)
SRC+=$(shell ls ./src/*.cpp)
 
 
OBJS=$(patsubst %.cpp,%.o, $(SRC))
 
 
 
.PHONY: all clean 

all: $(OBJS)
	$(CXX) -o $@  $^ 
	echo $(OBJS)

clean:
	$(RM) -rf *.o
 

 
 
 
%.o: %.cpp
	$(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $<
%.o: %.c
	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

FLTK:

交叉编译:

1) Download Raspberry cross toolchain on Ubuntu ;

2) Sync rootfs of Raspberry SD card;

3) Download FLTK

4) 交叉编译

export PATH=/opt/workspace/Raspberry/raspberry_chaintool/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/bin:$PATH

在Makefile中把fluid 和test删掉。

CC=arm-linux-gnueabihf-gcc ./configure --host=arm-linux --x-includes=/opt/workspace/Raspberry/respberry_FS/usr/include --x-libraries=/opt/workspace/Raspberry/respberry_FS/usr/lib  --enable-gl --includedir=/opt/workspace/Raspberry/respberry_FS/usr/include/arm-linux-gnueabihf --libdir=/opt/workspace/Raspberry/respberry_FS/usr/lib/arm-linux-gnueabihf

make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm-linx --trace

Cross compile raspberry FLTK example on Ubuntu.

Makefile:

ROOTFS=/opt/Rasp/rootfs
CROSS_COMPILE=arm-linux-gnueabihf-
CC=$(CROSS_COMPILE)gcc
CXXFLAGS =  -I$(ROOTFS)/usr/include/arm-linux-gnueabihf\
			-I$(ROOTFS)/usr/include \
			-I$(ROOTFS)/usr/include/libpng16 \
			-I$(ROOTFS)/usr/include/freetype2 \
			-D_LARGEFILE_SOURCE \
			-D_LARGEFILE64_SOURCE \
			-D_FILE_OFFSET_BITS=64 \
			-D_THREAD_SAFE -D_REENTRANT\
			-I/opt/Rasp/cross_FLTK/include
CXXLIBS = -L$(ROOTFS)/lib/arm-linux-gnueabihf -L$(ROOTFS)/usr/lib/arm-linux-gnueabihf -L/opt/Rasp/cross_FLTK/lib  -lfltk  -lX11 -lxcb -lXext -lXdmcp -ldl -lXau -lbsd -lstdc++ -lm

main:main.o
	${CC} -o $@ $^ ${CXXFLAGS}  ${CXXLIBS}
	
main.o:main.cpp
	${CC} -o $@ -c $^ ${CXXFLAGS} ${CXXLIBS}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kalong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值