编译json静态库,只是用来作练习,记录一下,供以后查找方便。目录结构如下:
所需头在目录include/json 下,源文件在src目录下,Makefile如下:
COMPILE_DIR = compile LIB_DIR = lib #CROSS = arm-himix200-linux- CPP = $(CROSS)g++ -std=c++11 CFLAGS = -Werror -g INCLUDE = -I./include AR = ar -rcs SRCS_CPP = $(wildcard src/*.cpp) SRCS = $(notdir $(SRCS_CPP)) OBJS = $(patsubst %.cpp, $(COMPILE_DIR)/%.o, $(SRCS)) DEP = $(patsubst %.cpp, $(COMPILE_DIR)/%.cpp.d, $(SRCS)) $(shell if [ ! -d $(COMPILE_DIR) ]; then mkdir $(COMPILE_DIR); fi) $(shell if [ ! -d $(LIB_DIR) ]; then mkdir $(LIB_DIR); fi) LIB_NAME=libjson.a TARGET=$(LIB_DIR)/$(LIB_NAME) all: $(TARGET) -include $(DEP) $(TARGET): $(OBJS) $(AR) $@ $^ $(COMPILE_DIR)/%.o: src/%.cpp $(COMPILE_DIR)/%.cpp.d $(CPP) $(CFLAGS) $(INCLUDE) -c $< -o $@ $(COMPILE_DIR)/%.cpp.d: src/%.cpp $(CPP) $(CFLAGS) $(INCLUDE) -MM -E -c $< -o $@ @sed 's/.*.o/$(subst /,/,$(dir $@))&/g' $@ > $@.tmp @mv $@.tmp $@ .PHONY: clean clean: rm -rf $(COMPILE_DIR) $(LIB_DIR)
编译结果:



