【发布时间】:2011-05-05 13:28:16
【问题描述】:
我正在为移动设备(Windows Mobile 6 和 Android)开发一个跨平台的 2D 引擎。我的 Windows 版本已经准备就绪,但我仍然需要确保在 Android 上提供相同的功能。
我想要的是项目根目录中的一个Makefile,以及项目本身和测试应用程序的几个Makefile。
Makefile
---Engine
------Makefile
------src
------bin
------intermediate
---Tests
------TestOne
---------Makefile
---------src
---------bin
---------intermediate
------TestTwo
---------Makefile
---------src
---------bin
---------intermediate
我的尝试基于以下Makefile:
include ../makeinclude
PROGS = test1
SOURCES = $(wildcard *.cpp)
# first compile main.o and start.o, then compile the rest
OBJECTS = main.o start.o $(SOURCES:.cpp=.o)
all: $(PROGS)
clean:
rm -f *.o src
test1: $(OBJECTS)
$(LD) --entry=_start --dynamic-linker system/bin/linker -nostdlib -rpath system/lib -rpath $(LIBS) -L $(LIBS) -lm -lc -lui -lGLESv1_CM $^ -o ../$@
acpy ../$(PROGS)
.cpp.o:
$(CC) $(CFLAGS) -I $(GLES_INCLUDES) -c $*.cpp $(CLIBS)
但是,我对这些东西不是很好。我想要的是它获取src文件夹中的.cpp,将它们编译为.o并将它们放入intermediate文件夹中,最后将.o编译为已编译的exe并将其放入bin 文件夹。
我已经设法像这样工作了:
cd intermediate && rm -f *.o
但是,我无法用它来检索 .cpp,编译它们并将它们放入 intermediate 文件夹中。
我查看了其他几个Makefiles,但没有一个做我想做的事情。
感谢任何帮助。
【问题讨论】:
-
请指定“make”标签而不是“makefile”。更多信息:meta.stackexchange.com/questions/24030/…
-
好吧,我是对这些事情的菜鸟。 :P
标签: makefile