CC = mipsel-linux-gnu-gcc
CFLAGS= -g -Os -Wall -I./include/ -I.
LDFLAGS= -lpthread -lrt -lmqtt -lpaho-mqtt3a -ljson-c -L./lib -L.
LIB_CFLAGS= -c -g -fPIC -Os -Wall -I./include/ -I.
LIB_LDFLAGS= -shared -lpthread -lrt -lpaho-mqtt3a -ljson-c -L./lib
libdir = .
testdir = ./test/
LIB_SO = libmqtt.so
LIB_SRC := $(wildcard $(libdir)/*.c)
LIB_OBJ := $(patsubst %.c,%.o,$(LIB_SRC))
TEST_EXE := $(testdir)test
TEST_SRC := $(wildcard $(testdir)/*.c)
#$(filter-out test.c, $(LIB_SRC))
.PHONY: lib test clean
all: lib test
lib: $(LIB_SO)
test: $(TEST_EXE)
$(TEST_EXE): $(LIB_SO) $(TEST_SRC)
$(CC) $(CFLAGS) -o $@ $(TEST_SRC) $(LDFLAGS)
mipsel-linux-gnu-strip $(TEST_EXE)
$(LIB_SO): $(LIB_OBJ)
$(CC) $^ $(LIB_LDFLAGS) -o $@
mipsel-linux-gnu-strip $(LIB_SO)
$(LIB_OBJ):%.o:%.c
$(CC) $(LIB_CFLAGS) $< -o $@
clean:
rm *.o $(LIB_SO)
自己写过的一个简单实用Makefile
猜你喜欢
转载自blog.csdn.net/rikeyone/article/details/81215890
今日推荐
周排行