Problem18Makefile编写

makefile一直不是很明白。但是anyway,我整出来了。如果真的考那就抄模板2333333

# THUOOP @ 20200129
# C++ Course for THU2020 on Linux
#
.PHONY:clean
FLAG=$(empty) $(empty)
all:main
main:main.o product.o sum.o functions.h
    g++ main.o product.o sum.o -o main

product.o:product.cpp functions.h
    g++ -c ${FLAG} product.cpp -o product.o

sum.o:sum.cpp functions.h
    g++ -c ${FLAG} sum.cpp -o sum.o

main.o:main.cpp functions.h
    g++ -c ${FLAG} main.cpp -o main.o

debug:
    make FLAG=-DDEBUG

clean:
    rm main *.o

题目要求

题目描述

现在已有main.cpp、product.cpp、functions.h、stdout.txt四个文件。

文件内容见下载链接

你需要编写一个Makefile文件完成程序的编译过程,要求:

  • 在linux系统下,Makefile文件能正常运行。(编译器为g++。)

  • 使用make命令,能够联合编译多个源文件,最终生成名为main的可执行文件。(linux下无exe后缀。)main可以正常执行,其输出请查看示例。

  • 使用make debug命令,能够生成开启调试模式的可执行文件,同样生成名为main的可执行文件。调试模式的具体输出请查看示例。

  • 使用make clean命令,能够清理之前生成的文件,还原成最初的样子。

注意:你Makefile文件在结束任务后必须返回0。若返回非0值,则认为make失败,评测系统会给出Make Error的提示。

输入样例

1 1

输出样例

2
1

调试模式输入样例

1 1

调试模式输出样例

running sum(a = 1, b = 1)
2
running product(a = 1, b = 1)
1

提交要求

提交一个Makefile文件,满足上述需求。

评分标准

OJ自动评测占100%。

你可能感兴趣的:(Problem18Makefile编写)