Linux makefile实验

按照以下目录结构存放程序,然后制作makefile文件,把makefile文件内容填入表格中。

现有一个程序由5个文件组成:

/* ./main.c */
#include "mytool1.h"
#include "mytool2.h"
int main()
{
	mytool1_print("hello mytool1!\n");
	mytool2_print("hello mytool2!\n");
	return 0;
}
/* ./functions/mytool1.c */
#include "mytool1.h"
#include <stdio.h>
void mytool1_print(char *print_str)
{
	printf("This is mytool1 print : %s ",print_str);
}
/* ./functions/mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
	void mytool1_print(char *print_str);
#endif
/* ./functions/mytool2.c */
#include "mytool2.h"
#include <stdio.h>

void mytool2_print(char *print_str)
{
	printf("This is mytool2 print : %s ",print_str);
}
/* ./functions/mytool2.h */
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
	void mytool2_print(char *print_str);
#endif
./Makefile
main:mytool1.o mytool2.o main.o
	gcc mytool1.o mytool2.o main.o -o main
main.o:main.c ./functions/mytool1.h ./functions/mytool2.h
	gcc -c main.c -o main.o -I functions
mytool1.o:./functions/mytool1.c ./functions/mytool1.h
	gcc -c ./functions/mytool1.c -o mytool1.o
mytool2.o:./functions/mytool2.c ./functions/mytool2.h
	gcc -c ./functions/mytool2.c -o mytool2.o
clean:
	rm -rf *.o main
输出结果:








猜你喜欢

转载自blog.csdn.net/weixin_40868076/article/details/80086214