Я работаю над кроссплатформенным 2D-движком для мобильных устройств (Windows Mobile 6 и Android). Моя версия для 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)
Однако я не очень хорош в этих вещах. Я хочу, чтобы он взял .cpp, находящиеся в папке src
, скомпилировал их в .o, поместил в папку intermediate
и, наконец, скомпилировал .o в скомпилированный exe и поместил в папка bin
.
Мне удалось стать чистым, чтобы работать так:
cd intermediate && rm -f *.o
Однако я не могу получить его для получения .cpp, скомпилировать их и поместить в папку intermediate
.
Я смотрел на несколько других Makefiles
, но никто не делает то, что я хочу делать.
Любая помощь приветствуется.