Здраствуйте. Проблема такая, накачал я кучу доков, по созданию макефайлов, но разобраться не могу, помогите ламеру. Вообщем винда у меня снесена, а до четверга не плохо бы запустить один проект, он написан на чистом Си++, без фишек MS, и юзает скрипт язык LUA, сам состоит из многих файлов.
Вот.
Как написать такой файл, который бы заменял собой "проект визула студии", вобщем чтоб все множество файлов компилилось как одна прога + еще и дополнительные библиотеки юзала (lua)
makefile (HOWTO)
Модератор: Модераторы разделов
-
ZeLLa
- Сообщения: 154
- ОС: ubuntu
makefile
Ubuntu 6.10 AMD64 2.6.20.3 reiserfs3.6 Gnome 2.16.1 & FreeBSD6.0 AMD64 ufs Gnome 2.14
-
BlackStar
- Сообщения: 1338
- Статус: We are all Kosh
- ОС: Fedora 10
Re: makefile
Э-э-э брат! Начни сначала с простого "Hello World!". А уж потом не трудно будет составить и для многих файлов.
LightLang Team
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: makefile
По сути довольно сложно написать makefile руками если не представляешь этап компиляции руками. то есть командами из командной строки.
Ежели ты знаешь что где и как писать:
g++ ${CPPFLAGS} ${LIBS} ${SRC} -c ${OBJ}
g++ ${OBJ} ${LDFLAGS} ${OUT}
где ${CPPFLAGS} - флаги компилятора, ${LIBS} - расшаренные объекты ( они же so ) ${SRC} - *.cpp'шники проъекта, ${OBJ} - с эти *.cpp'шников объектный код
${LDFLAGS} - флаги линковки ( возможно и необязательная опция, смотря какой проъект), ${OUT} - сама программа.
Конечно все это довольно примитивно, но для примитивных задач я не стал изучать autoconf, automake и прочие пакеты из-за их сложности в построении, scons, cmake - просто не пробывал
, глянь может они подойдут.
А по началу скомпилируй просто руками, если нет опыта написания скриптов - то без этого просто никак или на opennet'е читать документацию и курить её большими пачками. что касательно синтаксиса Makefile'ов они не такие уж сложные, возьми любой проъект написанный без спомощью систем автоконфигурирования и полистай. все станет ясно
Ежели ты знаешь что где и как писать:
g++ ${CPPFLAGS} ${LIBS} ${SRC} -c ${OBJ}
g++ ${OBJ} ${LDFLAGS} ${OUT}
где ${CPPFLAGS} - флаги компилятора, ${LIBS} - расшаренные объекты ( они же so ) ${SRC} - *.cpp'шники проъекта, ${OBJ} - с эти *.cpp'шников объектный код
${LDFLAGS} - флаги линковки ( возможно и необязательная опция, смотря какой проъект), ${OUT} - сама программа.
Конечно все это довольно примитивно, но для примитивных задач я не стал изучать autoconf, automake и прочие пакеты из-за их сложности в построении, scons, cmake - просто не пробывал
А по началу скомпилируй просто руками, если нет опыта написания скриптов - то без этого просто никак или на opennet'е читать документацию и курить её большими пачками. что касательно синтаксиса Makefile'ов они не такие уж сложные, возьми любой проъект написанный без спомощью систем автоконфигурирования и полистай. все станет ясно
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: makefile
Вам бы почитать основы создания makefile, коих в сети полно.
Общий синтаксис таков:
Общий синтаксис таков:
Код: Выделить всё
<цель>:[ <файлы>]
<табуляция><команды сборки или любые другие>