Создание makefile

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Создание makefile

Сообщение picaro » 13.05.2008 15:22:34

Вот поставил я себе free pascal и lazarus, сделал прогу и решил передать её товарищу.
У товарища Лазарь не ставиться - в "засраную" слаку поставить из сорцов что-то сложно, но у него есть фри паскаль.
Вопрос: как скомпилить мою прогу без лазаря, одним фрипаскалём?
Аватара пользователя
picaro
новенький
 
Сообщения: 16
Зарегистрирован: 15.12.2007 03:40:24

Re: Создание makefile

Сообщение Mirror » 13.05.2008 16:58:29

У меня есть подозрение, что если это и возможно, то с большими трудностями, так как всё равно придётся тащить с собой какую-то часть Лазаруса. :)
Mirror
новенький
 
Сообщения: 49
Зарегистрирован: 22.05.2005 12:02:48
Откуда: Порту

Re: Создание makefile

Сообщение Иван Шихалев » 13.05.2008 17:24:26

Дело не в Makefile, просто надо подтянуть все необходимые модули... Не такая уж и проблема.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Создание makefile

Сообщение picaro » 13.05.2008 18:18:18

Меня интересует вот что: у меня есть и ФПК и Лазарь, как мне скомпилить прогу из командной строки?
Тащить куски Лазаря (исходники компинентов) легче чем маяться с его установкой.
Аватара пользователя
picaro
новенький
 
Сообщения: 16
Зарегистрирован: 15.12.2007 03:40:24

Re: Создание makefile

Сообщение Padre_Mortius » 13.05.2008 21:13:56

Пример можно в DC посмотреть. Там все компилится через скрипт без запуска Лазаря. Ссылку можно в проектах форума посмотреть
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Создание makefile

Сообщение alexs » 13.05.2008 21:37:46

Есть в лазаре хорошая уилита - lazbuild
Вот она именно этим и занимается, т.е. компилирует из командной строки проект/пакет, не требуя запуска IDE.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Создание makefile

Сообщение picaro » 13.05.2008 22:56:58

Padre_Mortius писал(а):Пример можно в DC посмотреть. Там все компилится через скрипт без запуска Лазаря. Ссылку можно в проектах форума посмотреть

Макфайл - это и есть скрипт для автоматической компиляции и сборки проекта.
Сорц Double Commander (если он имелся в виду) я так и не нашёл, но мне интересно чем они его (скрипт) делали, не руками же писали.

alexs писал(а):Есть в лазаре хорошая уилита - lazbuild
Вот она именно этим и занимается, т.е. компилирует из командной строки проект/пакет, не требуя запуска IDE.

А без Лазаря скомпилить (одним фри паскалём) не удасться?
Компоненты - этож исходные тексты, которые можно скинуть туда, где компилятор их найдёт и подцепит.
Аватара пользователя
picaro
новенький
 
Сообщения: 16
Зарегистрирован: 15.12.2007 03:40:24

Re: Создание makefile

Сообщение Attid » 13.05.2008 23:20:19

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
правда работает или нет не скажу =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Создание makefile

Сообщение alexs » 14.05.2008 07:06:23

picaro писал(а):Компоненты - этож исходные тексты, которые можно скинуть туда, где компилятор их найдёт и подцепит.

Тебе фактически всё равно прийдётся иметь сорцы лазаря (только папка IDE не будет нужна) - LCL никто не отменял :-).
Так что игра свечь не стоит - качай лазарус.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Создание makefile

Сообщение picaro » 14.05.2008 15:04:04

лазарь вроде умеет создовать майкфайл
опции компилятора-компиляция-создовать Makefile
правда работает или нет не скажу =)

Я прежде чем спрашивать порылся в инете и нашёл, что макфайлы Лазарь может создавать только для пакетов, но не для проектов.
Может быть каким-нибудь сторонним средством?
ручками

Как я понял скрипт для использования на одной взятой машине (судя по путям).
Тебе фактически всё равно прийдётся иметь сорцы лазаря (только папка IDE не будет нужна) - LCL никто не отменял .
Так что игра свечь не стоит - качай лазарус.

А если я захочу каму-нибудь дать свою прогу для другого дистриба? Мне придётся в зависимостях писать Лазаруса?
Аватара пользователя
picaro
новенький
 
Сообщения: 16
Зарегистрирован: 15.12.2007 03:40:24

Re: Создание makefile

Сообщение Alexx2000 » 14.05.2008 15:56:53

picaro писал(а):Как я понял скрипт для использования на одной взятой машине (судя по путям).


Просто в данном случае Лазарус стоит не в стандартных каталогах Unix, если он ставился из пакетов, то явно путь указывать скорее всего не надо (точно не скажу ибо из пакетов не ставил).

picaro писал(а):А если я захочу каму-нибудь дать свою прогу для другого дистриба? Мне придётся в зависимостях писать Лазаруса?


Если прога в исходниках, то думаю да...
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Создание makefile

Сообщение alexs » 14.05.2008 17:29:58

picaro писал(а): Мне придётся в зависимостях писать Лазаруса?

Ну ты же ставиш в зависимостях fpc :lol:
былобы всё это в стандартных пакетах fpc - не нужен былбы тебе лазарь.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Создание makefile

Сообщение Brainenjii » 14.05.2008 21:51:02

кстати, а можно как-нибудь сделать, чтобы пользоваться LCL отдельно от Lazarus'a? Чтобы в какой-нибудь Kate код набирать, а потом fpc скомпилить...
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Создание makefile

Сообщение alexs » 14.05.2008 21:59:52

Почему нет - пожалуста набирай :-).
Просто не очень удобно это. И как формы будеш ты рисовать?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Создание makefile

Сообщение Brainenjii » 15.05.2008 07:41:36

в рантайме ^_^ Т.е. надо просто скопировать LCL а потом путь туда указать в fpc.cfg?
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

Рейтинг@Mail.ru