Makefile 由简入繁全教程
1个c文件,1个头文件,1个执行文件
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#define HELLO "hello world \n"
#endif
#include "head.h"
int main(int argc, char const *argv[])
{
printf("%s", HELLO);
return 0;
}
//Makefile
obj=a.o
a:$(obj)
cc -o a $(obj)
a.o:a.c head.h
.PHONY: clean
clean:
rm -rf *.o a
2个c文件, 1个头文件, 1个执行文件
#include "head.h"
int main(int argc, char const *argv[])
{
print(HELLO);
return 0;
}
#include <stdio.h>
void print(char * arg)
{
printf("%s\n", arg);
}
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#define HELLO "hello world \n"
void print(char * arg);
#endif
obj=a.o fun.o
a:$(obj)
cc -o a $(obj)
a.o:a.c fun.c head.h
.PHONY: clean
clean:
rm -rf *.o a
2个c文件, 1个头文件,2个执行文件
#include "head.h"
int main(int argc, char const *argv[])
{
printf("jelajladfasfd\n");
return 0;
}
#include "head.h"
int main(int argc, char const *argv[])
{
printf("jelajladfasfd\n");
return 0;
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#define HELLO "hello world \n"
#endif
//makefile
obj=a.o
all:a b
a:$(obj)
cc -o a $(obj)
b:b.o
cc -o b b.o
a.o:a.c head.h
b.o:b.c head.h
.PHONY: clean
clean:
rm -rf *.o a b