linuxのMakefile使用
2036 ワード
ちょうどlinuxを学んでMakefileまで下りて、自分で楽しみます.
fun.cファイル
main.cファイル
Makefileファイル
a.hファイル
fun.cファイル
1 /******fun.c********/
2
3 #include <stdio.h>
4 #include <stdarg.h>
5 #include <stdlib.h>
6 #include "a.h"
7 int add(int a, int b){
8 if(a > 100 && b > 100)
9 ERROR(-1, " :a=%d,b=%d 100
", a, b);
10 if(a > 100)
11 ERROR(-1, " :a=%d 100
", a);
12 if(b > 100)
13 ERROR(-1, " :b=%d 100
", b);
14 return a + b;
15 }
16 int logging(int code, char *fmt,...){
17 va_list list;
18 FILE *fp;
19 fp = fopen("./error.log","a+");
20 if( fp == NULL){
21 printf("error
");
22 exit(0);
23 }
24 va_start(list, fmt);
25 vfprintf(fp,fmt,list);
26 fclose(fp);
27 va_end(list);
28 return code;
29 }
main.cファイル
1 /*****main.c********/
2 #include <stdio.h>
3 int main(){
4 int a, b, res;
5 printf(" 100, -1
");
6 while( scanf("%d %d", &a, &b) != EOF){
7 res = add(a, b);
8 printf("%d
", res);
9 }
10 return 0;
11 }
Makefileファイル
1 main : main.o fun.o
2 cc -o main main.o fun.o
3 main.o : main.c
4 cc -c main.c
5 fun.o : fun.c
6 cc -c fun.c
7 clean:
8 rm main.o fun.o
a.hファイル
1 #ifndef _A_DEF
2 #define _A_DEF
3
4 #include <stdio.h>
5 #define ERROR return logging
6 int logging (int code, char *fmt,...);//
7
8 #endif