Создание makefile
Модератор: Модераторы
Создание makefile
Вот поставил я себе free pascal и lazarus, сделал прогу и решил передать её товарищу.
У товарища Лазарь не ставиться - в "засраную" слаку поставить из сорцов что-то сложно, но у него есть фри паскаль.
Вопрос: как скомпилить мою прогу без лазаря, одним фрипаскалём?
У товарища Лазарь не ставиться - в "засраную" слаку поставить из сорцов что-то сложно, но у него есть фри паскаль.
Вопрос: как скомпилить мою прогу без лазаря, одним фрипаскалём?
У меня есть подозрение, что если это и возможно, то с большими трудностями, так как всё равно придётся тащить с собой какую-то часть Лазаруса. :)
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
Дело не в Makefile, просто надо подтянуть все необходимые модули... Не такая уж и проблема.
Меня интересует вот что: у меня есть и ФПК и Лазарь, как мне скомпилить прогу из командной строки?
Тащить куски Лазаря (исходники компинентов) легче чем маяться с его установкой.
Тащить куски Лазаря (исходники компинентов) легче чем маяться с его установкой.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Пример можно в DC посмотреть. Там все компилится через скрипт без запуска Лазаря. Ссылку можно в проектах форума посмотреть
Padre_Mortius писал(а):Пример можно в DC посмотреть. Там все компилится через скрипт без запуска Лазаря. Ссылку можно в проектах форума посмотреть
Макфайл - это и есть скрипт для автоматической компиляции и сборки проекта.
Сорц Double Commander (если он имелся в виду) я так и не нашёл, но мне интересно чем они его (скрипт) делали, не руками же писали.
alexs писал(а):Есть в лазаре хорошая уилита - lazbuild
Вот она именно этим и занимается, т.е. компилирует из командной строки проект/пакет, не требуя запуска IDE.
А без Лазаря скомпилить (одним фри паскалём) не удасться?
Компоненты - этож исходные тексты, которые можно скинуть туда, где компилятор их найдёт и подцепит.
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
picaro писал(а):Сорц Double Commander (если он имелся в виду) я так и не нашёл
https://sourceforge.net/svn/?group_id=188452
ручками
Код: Выделить всё
#!/bin/bash
# if you compile first time you must have "lazres" tools
# to create it execute "$lazpath/lazbuild $lazpath/tools/lazres.lpi"
# and change variable "lazpath" and "lcl"
# after it execute this script with parameter "all" at doublecmd dir
# "./_make.sh all" it create lrs file and build doublecmd
# and you can comment last line and uncomment next to last to use lazbuild
# by Attid
# ToDo recompile component when use parameter "all"
#path to lazarus
lazpath=/root/Prog/lazarus
#widgetset gtk or gtk2
lcl=gtk2
if [ "$1" = "all" ]
then
for LFM in `ls /at/project/doublecmd/*.lfm`
do
LRS=`echo $LFM | sed -e 's/\.lfm$/\.lrs/'`
/home/at/lazarus/svn/tools/lazres $LRS $LFM
done
fi
#$lazpath/lazbuild --widgetset=$lcl doublecmd.lpi
fpc doublecmd.lpr -S2cdgi -OG3 -g -gl -vewnhi -l -Ficomponents/KASToolBar/ -Ficomponents/KASToolBar/lib/i386-linux/ -Ficomponents/viewer/ -Fu$lazpath/components/jpeg/lib/i386-linux/ -Fucomponents/KASToolBar/lib/i386-linux/ -Fu$lazpath/components/synedit/units/i386-linux/ -Fu$lazpath/lcl/units/i386-linux/ -Fu$lazpath/lcl/units/i386-linux/$lcl/ -Fucomponents/viewer/lib/i386-linux/ -Fu$lazpath/packager/units/i386-linux/ -Fu. -odoublecmd -dLCL -dLCL$lcl
лазарь вроде умеет создовать майкфайл
опции компилятора-компиляция-создовать Makefile
правда работает или нет не скажу =)
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
picaro писал(а):Компоненты - этож исходные тексты, которые можно скинуть туда, где компилятор их найдёт и подцепит.
Тебе фактически всё равно прийдётся иметь сорцы лазаря (только папка IDE не будет нужна) - LCL никто не отменял
Так что игра свечь не стоит - качай лазарус.
лазарь вроде умеет создовать майкфайл
опции компилятора-компиляция-создовать Makefile
правда работает или нет не скажу =)
Я прежде чем спрашивать порылся в инете и нашёл, что макфайлы Лазарь может создавать только для пакетов, но не для проектов.
Может быть каким-нибудь сторонним средством?
ручками
Как я понял скрипт для использования на одной взятой машине (судя по путям).
Тебе фактически всё равно прийдётся иметь сорцы лазаря (только папка IDE не будет нужна) - LCL никто не отменял .
Так что игра свечь не стоит - качай лазарус.
А если я захочу каму-нибудь дать свою прогу для другого дистриба? Мне придётся в зависимостях писать Лазаруса?
- Alexx2000
- постоялец
- Сообщения: 490
- Зарегистрирован: 25.10.2006 00:22:07
- Откуда: Мытищи
- Контактная информация:
picaro писал(а):Как я понял скрипт для использования на одной взятой машине (судя по путям).
Просто в данном случае Лазарус стоит не в стандартных каталогах Unix, если он ставился из пакетов, то явно путь указывать скорее всего не надо (точно не скажу ибо из пакетов не ставил).
picaro писал(а):А если я захочу каму-нибудь дать свою прогу для другого дистриба? Мне придётся в зависимостях писать Лазаруса?
Если прога в исходниках, то думаю да...
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
кстати, а можно как-нибудь сделать, чтобы пользоваться LCL отдельно от Lazarus'a? Чтобы в какой-нибудь Kate код набирать, а потом fpc скомпилить...
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
в рантайме ^_^ Т.е. надо просто скопировать LCL а потом путь туда указать в fpc.cfg?
