Я работаю над кросс-платформенным 2D-движком для мобильных устройств (Windows Mobile 6 и Android). Моя версия Windows в значительной степени готова, но мне все равно нужно убедиться, что на Android доступны те же функции.Makefiles: Получить .cpp из одного каталога и поместить скомпилированный .o в другой каталог
Что я хочу - это один 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 ../[email protected]
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
, но никто не делает то, что я хочу сделать.
Любая помощь приветствуется.
Пожалуйста, укажите «make» вместо «makefile». Дополнительная информация: http://meta.stackexchange.com/questions/24030/why-do-they-specify-makefile-tag-instead-of-make/26567#26567 –
Ну, я * am * a noob относительно этих вещей , : P – knight666