生成可执行文件显示编译过程通用Makefile

    xiaoxiao2021-04-17  42

    ## TARGET: generate hello ## $^ : 所有依赖 ## $@ : 目标文件 ## $< : 第一个依赖 ## g++ -g -o main main.cpp

    ## desc: 可以显示编译过程,最终生成可执行文件hello

    GXX := g++  INCLUDE_FILE := ./%.h SRC_FILES := $(wildcard *.cpp) OBJ_FILES=$(SRC_FILES:%.cpp=./.objs/%.o) TARGET := hello CFLAGS=-I./ -Wall -Werror -fPIC -ggdb  LIB := -L../lib/ -lztxmath -L../lib/ -lztxshow $(TARGET) : $(SRC_FILES) $(OBJ_FILES)         $(GXX) -g -o  $(TARGET) $(OBJ_FILES) $(LIB)  $(DEP_FILES): ./%.d : ./%.cpp          @echo "generate dependence $@"         @printf "../" > $@.tmp         @$(GXX) -MM $< $(CFLAGS) >> $@.tmp 2> /dev/null         @mv $@.tmp $@ $(OBJ_FILES) : ./.objs/%.o : ./%.cpp         $(GXX) -o $@ -c $< $(CFLAGS) clean:         -rm $(TARGET) $(OBJ_FILES)

    sinclude $(DEP_FILES)

    ########################  makefile end  ###########################

    生成的可执行文件的结果如下:

    jackiexiao@debian:/opt/jackiexiao/makefile/src/hello$ ./hello  hello.world this is a int type, value:3 this is a string type, value:hellowow_youare_great

    转载请注明原文地址: https://ju.6miu.com/read-673953.html

    最新回复(0)