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

提交要求

提交一个<samp style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 1em;">Makefile</samp>文件,满足上述需求。

评分标准

OJ自动评测占100%。

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

友情链接更多精彩内容