CC=g++
INCLUDE=-I../xlog
CATG=-L./ $(INCLUDE) -g
OUT=testxlog
LIBS=-lxlog
SOCC=$(CC) $+ -o $@ -shared -fPIC
OCC=$(CC) $+ -c $(CATG)
OBJ=testxlog.o person.o
$(OUT):$(OBJ) libxlog.so
$(CC) $(OBJ) -o $@ -lxlog $(CATG)
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
變量定義:
CC=g++
INCLUDE=-I../xlog
CATG=-L./ $(INCLUDE) -g
...
變量使用:
$(CC)
$(INCLUDE)
...
目標(biāo)文件:依賴項
????執(zhí)行命令
install:$(OUT)
cp *.so /usr/lib
cp $(OUT) /usr/bin
使用方式:
make install
$@ 代表目標(biāo)
$(OUT):$(OBJ) libxlog.so
$(CC) $(OBJ) -o $@ -lxlog $(CATG)
此處代表$(OUT)
$+ 代表依賴項
libxlog.so:../xlog/xlog.cpp ../xlog/xlog.h
$(CC) $+ -c $(CATG)
此處代表../xlog/xlog.cpp ../xlog/xlog.h