Skip to content

Commit

Permalink
add gcc makefile leaning
Browse files Browse the repository at this point in the history
  • Loading branch information
aixingxy committed May 22, 2019
1 parent c613195 commit 7f9e196
Show file tree
Hide file tree
Showing 35 changed files with 873 additions and 2 deletions.
6 changes: 6 additions & 0 deletions GCC/Calc/include/head.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include <stdio.h>
int add(int a, int b);
int div(int a, int b);
int mul(int a, int b);
int sub(int a, int b);

Binary file added GCC/Calc/lib/libCalc.so
Binary file not shown.
9 changes: 9 additions & 0 deletions GCC/Calc/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#include <stdio.h>
#include "head.h"

int main(void)
{
int sum = add(2, 24);
printf("sum = %d\n", sum);
return 0;
}
Binary file added GCC/Calc/newapp
Binary file not shown.
6 changes: 6 additions & 0 deletions GCC/Calc/src/add.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "head.h"
int add(int a, int b)
{
int result = a + b;
return result;
}
Binary file added GCC/Calc/src/add.o
Binary file not shown.
7 changes: 7 additions & 0 deletions GCC/Calc/src/div.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include"head.h"

int div(int a, int b)
{
int result = a / b;
return result;
}
Binary file added GCC/Calc/src/div.o
Binary file not shown.
6 changes: 6 additions & 0 deletions GCC/Calc/src/mul.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "head.h"
int mul(int a, int b)
{
int result = a * b;
return result;
}
Binary file added GCC/Calc/src/mul.o
Binary file not shown.
6 changes: 6 additions & 0 deletions GCC/Calc/src/sub.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "head.h"
int sub(int a, int b)
{
int result = a - b;
return result;
}
Binary file added GCC/Calc/src/sub.o
Binary file not shown.
6 changes: 6 additions & 0 deletions MAKE/add.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "head.h"
int add(int a, int b)
{
int result = a + b;
return result;
}
Binary file added MAKE/add.o
Binary file not shown.
Binary file added MAKE/app
Binary file not shown.
Binary file added MAKE/app1
Binary file not shown.
Empty file added MAKE/clean
Empty file.
7 changes: 7 additions & 0 deletions MAKE/div.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include"head.h"

int div(int a, int b)
{
int result = a / b;
return result;
}
Binary file added MAKE/div.o
Binary file not shown.
6 changes: 6 additions & 0 deletions MAKE/include/head.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include <stdio.h>
int add(int a, int b);
int div(int a, int b);
int mul(int a, int b);
int sub(int a, int b);

9 changes: 9 additions & 0 deletions MAKE/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#include <stdio.h>
#include "head.h"

int main(void)
{
int sum = add(2, 24);
printf("sum = %d\n", sum);
return 0;
}
Binary file added MAKE/main.o
Binary file not shown.
22 changes: 22 additions & 0 deletions MAKE/makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#get all .c files
SrcFiles=$(wildcard *.c)

#all .c files -> .o files
ObjFiles=$(patsubst %.c,%.o,$(SrcFiles))
all:app app1
# 目标文件的用法$(Var)
app:$(ObjFiles)
gcc -o $@ -I ./include $(ObjFiles)
#模式匹配规则,$@,$<这样的变量,只能在规则中出现
app1:$(ObjFiles)
gcc -o $@ -I ./include $(ObjFiles)

%.o:%.c
gcc -c $< -I ./include -o $@
test:
@echo $(SrcFiles)
@echo $(ObjFiles)
.PHONY:clean all
clean:
-@rm -f *.o # 不显示信息
-@rm -f app app1
3 changes: 3 additions & 0 deletions MAKE/makefile1
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
app:main.c add.c sub.c div.c mul.c
gcc -o app -I ./include main.c add.c sub.c div.c mul.c

16 changes: 16 additions & 0 deletions MAKE/makefile2
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# ObjFiles 定义目标文件
ObjFiles=main.o add.o sub.o div.o mul.o
# 目标文件的用法$(Var)
app:$(ObjFiles)
gcc -o app -I ./include main.o add.o sub.o div.o mul.o
main.o:main.c
gcc -c main.c -I ./include
add.o:add.c
gcc -c add.c -I ./include
sub.o:sub.c
gcc -c sub.c -I ./include
mul.o:mul.c
gcc -c mul.c -I ./include
div.o:div.c
gcc -c div.c -I ./include

18 changes: 18 additions & 0 deletions MAKE/makefile4
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#get all .c files
SrcFiles=$(wildcard *.c)

#all .c files -> .o files
ObjFiles=$(patsubst %.c,%.o,$(SrcFiles))

# 目标文件的用法$(Var)
app:$(ObjFiles)
gcc -o app -I ./include $(ObjFiles)
#模式匹配规则,$@,$<这样的变量,只能在规则中出现
%.o:%.c
gcc -c $< -I ./include -o $@
test:
@echo $(SrcFiles)
@echo $(ObjFiles)
clean:
-@rm -f *.o # 不显示信息
-@rm -f app
6 changes: 6 additions & 0 deletions MAKE/mul.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "head.h"
int mul(int a, int b)
{
int result = a * b;
return result;
}
Binary file added MAKE/mul.o
Binary file not shown.
Binary file added MAKE/newapp
Binary file not shown.
6 changes: 6 additions & 0 deletions MAKE/sub.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "head.h"
int sub(int a, int b)
{
int result = a - b;
return result;
}
Binary file added MAKE/sub.o
Binary file not shown.
Loading

0 comments on commit 7f9e196

Please sign in to comment.