交叉编译一个静态库

#第一步选择编译链,创建一个目录将源文件放到里面,作为编译目录

CC = arm-hismall-linux-gcc

CPP = arm-hismall-linux-g++

AR = arm-hismall-linux-ar

#这里是生成的库名字 TARGET = libxxx.a

SOURCES = $(wildcard *.cpp) $(wildcard *.c)

OBJS = $(patsubst %.cpp,%.o, $(SOURCES)) $(patsubst %.c,%.o, $(SOURaCES))

#第二部创建一个inc目录,将需要的开源库头文件放到里面

INCLUDE = -I./inc \

       -I./

#第三步创建一个lib目录,将需要的开源库放到里面

LIB_PATH = -L lib/

 

#第四步,将需要链接的开源库放在这个变量后面

LIBS = -lpthread -lc

CFLAGS = -Wall CFLAGS += $(INCLUDE) $(LIB_PATH)

all : $(TARGET)

$(TARGET) : $(OBJS)

   $(AR) -r $(TARGET) $^

.c.o:

   $(CPP) $(CFLAGS) -c -o $@ $< $(LIBS)

.cpp.o:

   $(CPP) $(CFLAGS) -c -o $@ $< $(LIBS)

 

.PHONY = clean

clean :

   rm -rf *.o $(TARGET)

上一篇:Linux 命令详解(二)awk 命令


下一篇:GNU 汇编