如何编译makefile文件
㈠ 如何用makefile进行编译
假设有下面几个c++文件:wherewhen.h wherewhen.c countdown.h countdown.c 包含了math.h, 需要连接库文件 main.c 主函数, main.c 包含了两个头文件 wherewhen.h and countdown.h 1、第一种编译方法:g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram 生成可执行文件myprogram 2、第二中编译方法, 分别编译各个文件:g++ -Wall -g -c wherewhen.c g++ -Wall -g -c countdown.c g++ -Wall -g -c main.c g++ -g wherewhen.o countdown.o main.o -lm -o myprogram
㈡ 如何用makefile编译多个c文件
假设有下面几个c++文件:
wherewhen.h
wherewhen.c
countdown.h
countdown.c
包含了math.h,
需要连接库文件
main.c
主函数,
main.c
包含了两个头文件
wherewhen.h
and
countdown.h
1、第一种编译方法:
g++
-Wall
-g
wherewhen.c
countdown.c
main.c
-lm
-o
myprogram
生成可执行文件myprogram
2、第二中编译方法,
分别编译各个文件:
g++
-Wall
-g
-c
wherewhen.c
g++
-Wall
-g
-c
countdown.c
g++
-Wall
-g
-c
main.c
g++
-g
wherewhen.o
countdown.o
main.o
-lm
-o
myprogram
㈢ linux如何编写并使用makefile
1、先写Makefile编译出***.ko文件
模板如下,保存到命名为Makefile文件里,放到你代码的同级目录下
TARGET=my_proc.ko
LINUXDIR=/lib/moles/$(shell uname -r)/build
PWD=$(shell pwd)
obj-m :=
obj-m += my_proc.o
all: $(TARGET)
$(TARGET): $(OBJS)
make -C $(LINUXDIR) SUBDIRS=$(PWD) moles
clean:
rm -f moles.order Mole.symvers $(TARGET) *.mod.c *.o
rm -rf .tmp_versions .mod* Mole.markers
2、make
3、root权限下用命令插入模块
insmod my_proc.ko
4、可以用你写的应用程序打开、操作模块了
5、查看模块命令
lsmod
cat /proc/moles
modinfo my_proc.ko
6、root下卸载模块
rmmod
㈣ 有makefile文件怎么编译
makefile不是被编译的,它是用来指导编译器和链接器来编译程序源文件的,这个文件也是个文本文件,具体格式你可以在网上查一下。
㈤ 在VC里如何用Makefile文件编译
运行cmd.exe (or command.com in win9x)->进到vc/bin目录->运行vc-vars32.bat->进到makefile 所在的目录->nmake /f makefile
从sourceforge上下载下来的libjpeg源代码中有一个makefile.vc的文件,可以通过nmake /f makefile.vc [nodebug=1]来编译libjpeg,但是只能编译静态库,如果需要编译dll以便在emacs等程序中使用的话,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加编译dll规则:
以下内容为程序代码:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下这行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然后nmake /f makefile.vc nodebug=1就可以编译了。
将makefile复制为一个.mak文件,然后用VC打开即可!
.mak 就是一个makefile
可以指定怎样编译(命令行,必须先设置VC命令行环境)
vcvars32.bat可设置环境,在vc98/bin下 nmake /f XXXX.mak
如果有一个makefile就只要nmake就可以了。
㈥ 什么是makefile 如何编写makefile
一个target,即最终创建的东西
一个和多个dependencies列表,通常是编译目标文件所需要的其他文件
需要执行的一系列commands,用于从指定的相关文件创建目标文件
make执行时按顺序查找名为GNUmakefile,makefile或者Makefile文件,通常,大多数人常用Makefile
Makefile规则:
target: dependency dependency [..] command command [..]
注意:command前面必须是制表符例子:
editor: editor.o screen.o keyboard.o
gcc -o editor editor.o screen.o keyboard.o
editor.o : editor.c editor.h keyboard.h screen.h
gcc -c editor.c
screen.o: screen.c screen.h
gcc -c screen.c
㈦ 什么是makefile如何编写makefile
makefile是Linux下使用gcc编译源程序时,所依赖的规则文件。
比如你在编译一个hello.c的源文件,使用gcc编译器,如何编译?生成可执行程序的名字叫什么,都需要在makefile里面定义这个规则。
具体教程,可以参考宅学部落(微信公众号):《Makefile工程实践》视频教程,教你从零开始一步一步如何写一个企业项目的Makefile,从小白到专家。
㈧ 用makefile编辑的文件怎么编译
我们在linux下进行编程的时候,会发现我们没有工程文件,然后,我们在不同目录下
的文件如此杂乱无章,让我们感到头疼,怎么可以把它们进行同步在一起,然后,一起进行编译呢,
这里,就是我们需要用到的工具了,makefile文件的作用了,makefile可以有效地组织文件和目录,
把处于不同目录下的文件进行同时编译,而不会因为目录的不同,而有所差别。
这里,我来分享一下makefile的简单的用法。
1:基本的格式:
magproc:magproc.o dbproc.o
$(EC) -o $(BINPATH)/$@ $? $(LIB)
可执行文件名:链接文件
编译工具 (参数) (链接库) 文件名
2:工程文件Make.defines
3:makefile文件
http://jingyan..com/article/48206aeaf9e82e216ad6b335.html
㈨ 如何用vs和makefile文件进行编译
运行cmd.exe (or command.com in win9x)->进到vc/bin目录->运行vc-vars32.bat->进到makefile 所在的目录->nmake /f makefile
从sourceforge上下载下来的libjpeg源代码中有一个makefile.vc的文件,可以通过nmake /f makefile.vc [nodebug=1]来编译libjpeg,但是只能编译静态库,如果需要编译dll以便在emacs等程序中使用的话,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加编译dll规则:
以下内容为程序代码:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下这行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然后nmake /f makefile.vc nodebug=1就可以编译了。
将makefile复制为一个.mak文件,然后用VC打开即可!
.mak 就是一个makefile
可以指定怎样编译(命令行,必须先设置VC命令行环境)
vcvars32.bat可设置环境,在vc98/bin下 nmake /f XXXX.mak
如果有一个makefile就只要nmake就可以了。
㈩ 编译esal/c程序的makefile文件如何写
你可以根据这样的方法来编写:
b074@gliethttp:~/work/gunzip$
cat
Makefile
CC
=
gcc-4.1
LD
=
gcc-4.1
CFLAGS
=
-Wall
-c
-Dgliethttp
-I.
LDFLAGS
=
-lpthread
SRCS
=
$(wildcard
*.c)
OBJS
=
$(patsubst
%c,%o,$(SRCS))
TARGET
=
gliethttp
.PHONY:
all
clean
all:
$(TARGET)
$(TARGET):
$(OBJS)
$(LD)
$(LDFLAGS)
-o
$@
$^
%o:
%c
$(CC)
$(CFLAGS)
-o
$@
$<
clean:
@rm
-f
*.o
$(TARGET)
编译当前Makefile所在目录下的所有.c文件
执行
make
make
clean