makefile:
main:main.o add.o sub.o mul.o gcc -o $@ $^ add:add.c gcc -o $@ $^ sub:sub.c gcc -o $@ $^ mul: mul.c gcc -o $@ $^ .PHONY:clean clean: rm -f add sub mul
add.h:
#ifndef __ADD_H__ #define __ADD_H__ #include<stdio.h> int add(int a,int b); #endif
add.c:
#include"add.h" int add(int a,int b) { return a+b; }
sub.h:
#ifndef __SUB_H__ #define __SUB_H__ #include<stdio.h> int sub(int a,int b); #endif
sub.c:
#include"sub.h" int sub(int a,int b) { return a-b; }
mul.h:
#ifndef __MUL_H__ #define __MUL_H__ #include<stdio.h> int mul (int a, int b); #endif
mul.c:
#include"mul.h" int mul (int a, int b) { return a*b; }
main.c
#include"add.h" #include"sub.h" #include"mul.h" #include<stdio.h> intmain() { int a=0; int b=0; printf("please enter:"); scanf("%d %d\n",&a,&b); printf("%d + %d = %d\n",a,b,add(a,b)); printf("%d - %d = %d\n",a,b,sub(a,b)); printf("%d * %d = %d\n",a,b,mul(a,b)); return 0; }
operation result: