// 生成testxlog 的可执行文件和.so 库
testxlog: testxlog.o libxlog.so
g++ testxlog.o -o testxlog -lxlog -L./
testxlog.o: testxlog.cpp
g++ testxlog.cpp -c -I../xlog
libxlog.so:../xlog/xlog.cpp ../xlog/xlog.h
g++ ../xlog/xlog.cpp -o libxlog.so -shared -fPIC
// 写执行的脚本run
#!/bin/sh
LD_LIBRARY_PATH=./
export LD_LIBRARY_PATH
./testxlog
运行脚本./run
修改上面的Makefile
// $@ 代表目标即,冒号前的 $+ 代表源文件, 冒号后面的
CC=g++
INCLUDE=-I../xlog
CTAG=-L./ $(INCLUDE) -g
OUT=testxlog
LIBS=-lxlog
SOCC=$(CC) $+ -o $@ -shared -fPIC
OCC=$(CC) $+ -c $(CTAG)
OBJ=testxlog.o person.o
$(OUT): $(OBJ) libxlog.so
$(CC) $(OBJ) -o $@ $(LIBS) $(CTAG)
testxlog.o: testxlog.cpp
$(OCC)
person.o: person.cpp person.h
$(OCC)
libxlog.so:../xlog/xlog.cpp ../xlog/xlog.h
$(SOCC)
install:$(OUT)
cp *.so /usr/lib
cp $(OUT) /usr/bin
uninstall:
rm /usr/lib/libxlog.so -rf
rm /usr/bin/$(OUT)
clean:
rm *.o -rf
rm *.so -rf
rm testxlog -rf