C 如何在linux中创建makefile

C 如何在linux中创建makefile,c,makefile,autoconf,automake,C,Makefile,Autoconf,Automake,我有以下代码:a.c代码、a.h代码、a.o文件和a-lib。。。图书馆。当我用gcc编译c代码时,我会: gcc code.c -o code file.o -library 如何创建makefile 我目前与autoconf和automake有什么关系 我目前有: Makefile all: gcc code.c -o code file.o -library clean: rm -f code 当我编译make时,我得到: make: Nothing to be done

我有以下代码:a.c代码、a.h代码、a.o文件和a-lib。。。图书馆。当我用gcc编译c代码时,我会:

gcc code.c -o code file.o -library
如何创建makefile

我目前与autoconf和automake有什么关系

我目前有:

Makefile

all: 
  gcc code.c -o code file.o -library

clean:

 rm -f code
当我编译make时,我得到:

make: Nothing to be done for `all'.

我需要一些帮助。很抱歉我必须给出这个答案,但是你试过了吗

选择一个,学习如何创建Makefile。你不需要自动工具

我花了5分钟的时间,通过阅读得出以下结论:

如果计算机上不存在-库,我想自动安装它

这是特定于所使用的分发版的,您需要在计算机上具有root访问权限。像这样做不是怎么做的。相反,您应该为您的发行版创建一个特定的包,在其中指定依赖项

例如,对于Ubuntu(因为它是最常用的发行版),您需要创建一个.deb文件:


但是,这与您最初的问题无关。

请参阅此代码,这可能会对您有所帮助

例如,创建一个C测试文件“test.C”,然后创建makefile,如下所示

Makefile

 all:

        cc -o test test.c

 clean:

        rm -f test
将此文件另存为“Makefile”

  • 通过
    make
    命令运行此makefile。然后在当前目录中创建测试可执行文件

  • 使用
    /test

  • 您可以使用
    makeclean
    删除可执行文件(test)


  • 对于要查看的任何引用,
    file.o
    是否有相应的
    file.c
    ?是的。它在makefile中的“all”之前的单独一行上还有一个file.hsay“.PHONY:all”(请参见),与“clean”相同。此外,您没有指定“all”依赖于任何内容,而in应该依赖于“code”,“code”应该依赖于“code.c”和“file.o”,“file.o”应该依赖于file.c等。只需在google上搜索Makefile教程。。。很多东西都有用……)谢谢你的回答。你还能帮我吗?我还想包括依赖项。如果计算机上不存在-库,我想自动安装。您需要编写规则来单独安装库。但是你需要管理员权限才能做到这一点。你能描述一下你想做什么吗?您正在尝试制作一个应该分发的包吗?不。我只想用automake和autoconf创建一个makefile。对于这个简单的任务,您不需要automake和autoconf。如果您不了解如何编写一个简单的makefile,您甚至不想考虑使用automake和autoconf。在你尝试使用这些工具之前,你需要做大量的学习。这并没有给原来的问题或公认的答案增加多少内容。
     all:
    
            cc -o test test.c
    
     clean:
    
            rm -f test