crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

AD
  опции профиля:
сообщение 4.2.2012, 23:14
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Сейчас программирую в Linux. В качестве редактора использую Kate. Makefile создан вручную, а не с помощью IDE. Решил сделать более универсальный makefile, который берет исходники из папки src, объектники кладет в obj, бинарники в bin. На Habrahabr нашел подобное, слегка поправил для своих нужд. Но выдает ошибку на 32 строчку. Пишет MIssing separayor. Stop.
Помогите, пожалуйста, поправить ошибку. Прежде, чем приведу makefile. Объясню структуру. Файл проекта. В нем, в корне - makefile, затем src - исходники, где могут быть поддиректории. Балуюсь дома с таким вот, потому чисто тестовое все. Поддиректория M1

Итак - makefile:
root_source_dir := src
source_subdirs := .M1
compile_flags := -Wall -MD -pipe -std=c++0x -pedantic-errors
link_flags := -s -pipe
libraries := -ldl
 
relative_source_dirs   := $(addprefix ../$(root_source_dir)/, $(source_subdirs))
objects_dirs := $(addprefix $(root_source_dir)/, $(source_subdirs))
objects := $(patsubst ../%, %, $(wildcard $(addsuffix /*.c*, $(relative_source_dirs))))
objects := $(objects:.cpp=.o)
 
all : $(program_name)
 
$(program_name) : obj_dirs $(objects)
    g++ -o $@ $(objects) $(link_flags) $(libraries)
 
obj_dirs :
    mkdir -p $(objects_dirs)
 
VPATH := ../
 
%.o : %.cpp
    g++ -o $@ -c $< $(compile_flags) $(build_flags) #$(addprefix -I, $(relative_include_dirs))
 
.PHONY : clean
 
clean :
    rm -rf bin obj

include $(wildcard $(addsuffix /*.d, $(objects_dirs)))

mkdir -p bin
mkdir -p obj
mkdir -p obj/release
make --directory=./obj/release --makefile=../../Makefile build_flags="-OX -fomit-frame-pointer" program_name=../../bin/record
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.6.2025, 17:24