当前位置: 技术问答>linux和unix
Makefile问题,请指点
来源: 互联网 发布时间:2016-06-06
本文导语: 目录下原来只有一个test.c的文件,其Makefile的内容为: [code=BatchFile]CC=gcc OBJS1=test.o TARGETS=test CFLAGS=-I. `net-snmp-config --cflags` BUILDLIBS=`net-snmp-config --libs` BUILDAGENTLIBS=`net-snmp-config --agent-libs` # shared library flags (as...
目录下原来只有一个test.c的文件,其Makefile的内容为:
[code=BatchFile]CC=gcc
OBJS1=test.o
TARGETS=test
CFLAGS=-I. `net-snmp-config --cflags`
BUILDLIBS=`net-snmp-config --libs`
BUILDAGENTLIBS=`net-snmp-config --agent-libs`
# shared library flags (assumes gcc)
DLFLAGS=-fPIC -shared
all: $(TARGETS)
test: $(OBJS1)
$(CC) -lpthread -o test $(OBJS1) $(BUILDLIBS)
clean:
rm $(TARGETS)
nstAgentPluginObject.so: nstAgentPluginObject.c Makefile
$(CC) $(CFLAGS) $(DLFLAGS) -c -o nstAgentPluginObject.o nstAgentPluginObject.c
$(CC) $(CFLAGS) $(DLFLAGS) -o nstAgentPluginObject.so nstAgentPluginObject.o[/code]
现在我增加了两个文件,一个为test_que.c,一个为test_que.h
文件test.c现在依赖于test_que.h
文件test_que.c依赖于test_que.h
现在想问这个Makefile该怎么写了?
谢谢了!!!
之前运行make test就能进行编译了,想新的Makefile写好后也能这样进行编译。
[code=BatchFile]CC=gcc
OBJS1=test.o
TARGETS=test
CFLAGS=-I. `net-snmp-config --cflags`
BUILDLIBS=`net-snmp-config --libs`
BUILDAGENTLIBS=`net-snmp-config --agent-libs`
# shared library flags (assumes gcc)
DLFLAGS=-fPIC -shared
all: $(TARGETS)
test: $(OBJS1)
$(CC) -lpthread -o test $(OBJS1) $(BUILDLIBS)
clean:
rm $(TARGETS)
nstAgentPluginObject.so: nstAgentPluginObject.c Makefile
$(CC) $(CFLAGS) $(DLFLAGS) -c -o nstAgentPluginObject.o nstAgentPluginObject.c
$(CC) $(CFLAGS) $(DLFLAGS) -o nstAgentPluginObject.so nstAgentPluginObject.o[/code]
现在我增加了两个文件,一个为test_que.c,一个为test_que.h
文件test.c现在依赖于test_que.h
文件test_que.c依赖于test_que.h
现在想问这个Makefile该怎么写了?
谢谢了!!!
之前运行make test就能进行编译了,想新的Makefile写好后也能这样进行编译。
|
你的 makefile 还是不对 。
修改一下 :
OBJS1=test.o test_que.o
另外建议你看一下
gnu make中文手册
http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/index.html
修改一下 :
OBJS1=test.o test_que.o
另外建议你看一下
gnu make中文手册
http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/index.html
|
CC=gcc
OBJS1=test.o
TARGETS=test
CFLAGS=-I. `net-snmp-config --cflags`
BUILDLIBS=`net-snmp-config --libs`
BUILDAGENTLIBS=`net-snmp-config --agent-libs`
# shared library flags (assumes gcc)
DLFLAGS=-fPIC -shared
all: $(TARGETS) test.o test_que.o
test: $(OBJS1)
$(CC) -lpthread -o test $(OBJS1) $(BUILDLIBS)
test.o : test.c
$(CC) -o $@ @
OBJS1=test.o
TARGETS=test
CFLAGS=-I. `net-snmp-config --cflags`
BUILDLIBS=`net-snmp-config --libs`
BUILDAGENTLIBS=`net-snmp-config --agent-libs`
# shared library flags (assumes gcc)
DLFLAGS=-fPIC -shared
all: $(TARGETS) test.o test_que.o
test: $(OBJS1)
$(CC) -lpthread -o test $(OBJS1) $(BUILDLIBS)
test.o : test.c
$(CC) -o $@ @