一个makefile的简单例子

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)
...

目标文件:依赖项
    执行命令

install:$(OUT)
    cp *.so /usr/lib
    cp $(OUT) /usr/bin

使用方式:

make install

$@ 代表目标

$(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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容