QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1073|回复: 3

求助:向各位大哥请教一个 makefile 问题,谢谢!

[复制链接]
发表于 2006-7-4 09:47:03 | 显示全部楼层 |阅读模式
请教:
makefile 文件是怎么得到的,
是不是我打开记事本,然后把它保存为 makefile

如果不是这样的话,是不是在终端输入什么命令?

/*compute.c源程序的代码*/

extern int somegrobal;

int computer(void){
           return 5*somegrobal;
}

/*源程序init.c的代码*/

#include <stdio.h>
#include ”myprogram.h“

int somegrobal=11;

int main(void){
           foo();
           return 0;
}

/*源文件io.c的代码*/

#include <stdio.h>
#include “myprogram.h”

int foo(void){
           printf(“The value is:%d.\n”,computer());
           return 1;
}

/*头文件myprogram.h的代码*/

int computer(void);
int foo(void);


//应用程序 test1 ,它是由 3 个 C 源程序和一个头文件组成。三个源程序是
//compute.c,init.c 和 io.c ,头文件为 myprogram.h


各位大哥,就我上面的程序给我写一个 makefile 的例子,好吗?

感激不尽!
 楼主| 发表于 2006-7-4 11:10:28 | 显示全部楼层
我自己写了一个,可是不行,各位大哥再帮我看看

te.h
void func1();
void func2();
void func3();



test1.c
#include <stdio.h>
#include <te.h>

void func1()
{
  printf("test1test1");
}  
int main()
{
         printf("test1");
         func1();
         return 1;
}





test2.c
#include <stdio.h>
#incldue <te.h>

void func2()
{
  printf("test2");
}  



test3.c
#include <stdio.h>
#incldue <te.h>

void func3()
{
  printf("test3");
}




我自己写的 makefile 文件为:
mypro1:test1.o test2.o test3.o
gcc -o mypro1 test1.o test2.o test3.o

test1.o:test1.c te.h
gcc -c -o test1.o test1.c

test2.o:test2.c te.h
gcc -c -o test2.o test2.c

test3.o:test3.c te.h
gcc -c -o test3.o test3.c


然后保存为:
mypro1.mk


然后在终端里执行;
[root@localhost linuxss]# make -f mypro1.mk
mypro1.mk:2: *** missing separator.  Stop.


各位大哥,我是错在哪里呢?

谢谢!
回复

使用道具 举报

 楼主| 发表于 2006-7-4 12:01:31 | 显示全部楼层
mypro1:test1.o test2.o test3.o
        gcc -o mypro1 test1.o test2.o test3.o
test1.o:test1.c te.h
        gcc -c -o test1.o test1.c
test2.o:test2.c te.h
        gcc -c -o test2.o test2.c
test3.o:test3.c te.h
        gcc -c -o test3.o test3.c


make: *** Warning: File `mypro1.mk' has modification time in the future (2006-07-04 11:49:35 > 2006-07-04 11:45:06.43473
gcc -c -o test1.o test1.c
test1.c:2:16: te.h: 没有那个文件或目录
test1.c:13:2: warning: no newline at end of file
make: *** [test1.o] Error 1


这是我的程序有问题吗?
我是有 <te.h> 的啊?

我哪里还有错误呢?

谢谢!
回复

使用道具 举报

发表于 2006-7-4 16:49:42 | 显示全部楼层
Makefile的语法都没有弄懂,自己上午google一下Makefile文件怎么写咯。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 12:38 , Processed in 0.033610 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表