Во времена когда 1.75 ещё не утратил актуальности, и некоторые плагины на evilprogremmers не содержали общего мейкфайла (зато содержали дюжину отдельных), был батничек для gcc с такими возможностями:
Usage: make.cmd [a|w|aw] [r] ["makefile" [--silent]]
a|w|aw - ansi|unicode|both
r - recursive (mask-symbols allowed in this mode)
--silent - if success then quit silently
if "makefile" not specified then tries ./makefile
after success plays "tada" & pause
after error plays "notify" & pause
Плюшки - не требуется наличия в PATH путей к devenv
Re: Кто какими батниками собирает фар и плагины
Posted: Thu 01 Mar, 2012 17:50
by Kerberos464
обновлялка и собиралка:
@echo off
if [%1]==[] goto help
cd /d %~dp0
set MajorVer=30
if %1 LSS 1826 set MajorVer=20
if %1 LSS 647 set MajorVer=180
if exist %1 rd /s /q %1
"%software2%\slik_svn\svn.exe" export https://farmanager.com/svn/tags/unicode ... rVer%_b%1/ %1
exit
:help
echo need build number
exit
@echo off
call "%~dp0make_far32.cmd" %1
call "%~dp0make_far64.cmd" %1
@echo off
cd "%~dp0fardev\unicode_far"
if not "%~1"=="" cd "%~dp0%~1"
if exist bootstrap rd /s /q bootstrap
if exist Include rd /s /q Include
if exist Release.32.gcc rd /s /q Release.32.gcc
path C:\software2\tdm-gcc\bin
mingw32-make.exe DIRBIT=32 -f makefile_gcc
if exist Release.32.gcc copy /y changelog "Release.32.gcc"
if exist Release.32.gcc copy /y changelog_eng "Release.32.gcc"
rd /s /q "Release.32.gcc\obj"
@echo off
cd "%~dp0fardev\unicode_far"
if not "%~1"=="" cd "%~dp0%~1"
if exist bootstrap rd /s /q bootstrap
if exist Include rd /s /q Include
if exist Release.64.gcc rd /s /q Release.64.gcc
path C:\software2\tdm64-gcc\bin
mingw32-make.exe DIRBIT=64 -f makefile_gcc
if exist Release.64.gcc copy /y changelog "Release.64.gcc"
if exist Release.64.gcc copy /y changelog_eng "Release.64.gcc"
ren "Release.64.gcc\Far.exe" "far64.exe"
rd /s /q "Release.64.gcc\obj"
@echo off
cd "%~dp0fardev\unicode_far"
if not exist "Release.32.gcc\far.exe" goto error
if not exist "Release.64.gcc\far64.exe" goto error
taskkill /f /im far.exe
taskkill /f /im far64.exe
xcopy "Release.32.gcc" "%software%\far3" /r /u /y
xcopy "Release.64.gcc" "%software%\far3" /r /u /y
pause
exit
@echo off
call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat"
msbuild /m /verbosity:n /property:Configuration=Release;platform=x64
Re: Кто какими батниками собирает фар и плагины
Posted: Sat 03 Mar, 2012 20:26
by Alexey Samlyukov
получился такой батничек, положить в каталог fardev.
запускать в отдельном окне, т.к. при удачной сборке фара, перед обновлением выгружает запущенную версию far.exe!
умеет:
- обновлять каталог fardev из svn (опционально, ключ /s для пропуска обновления)
- компилировать фар и копировать в целевую папку (при этом берем только рус и анг локализацию)
- компилировать и копировать в целевую папку плагины (опционально, ключ /p для пропуска сборки)
- при компиляции плагинов plugin.hpp берем от только что созданного фара, но после сборки восстанавливаем прежнюю версию
- если папки Plugins нет, то копируем все плагины, но если есть, - то обновляем только имеющиеся в целевой папке
- может собирать FExcept (опционально, set FExcept=1)
- старается подчистить за собой
Kerberos464, а как плагины с помощью Вашего скрипта собирать? Там только FAR.
Re: Кто какими батниками собирает фар и плагины
Posted: Mon 05 Mar, 2012 12:11
by Kerberos464
примерно так:
@echo off
cd "%~dp0fardev\plugins"
path C:\software2\tdm-gcc\bin
mingw32-make.exe DIRBIT=32 -f makefile_all_gcc -B
@echo off
cd "%~dp0fardev\plugins"
path C:\software2\tdm64-gcc\bin
mingw32-make.exe DIRBIT=64 -f makefile_all_gcc -B
Re: Кто какими батниками собирает фар и плагины
Posted: Mon 05 Mar, 2012 13:15
by Kirill
Kerberos464, спасибо.
Еще бы понять как Max собирает все плагины под FAR 3 x64?
Re: Кто какими батниками собирает фар и плагины
Posted: Mon 05 Mar, 2012 13:22
by zg
Kirill wrote:Еще бы понять как Max собирает все плагины под FAR 3 x64?
freepascal x64 никто не отменял, не?
Re: Кто какими батниками собирает фар и плагины
Posted: Mon 05 Mar, 2012 13:26
by Kirill
zg wrote:freepascal x64 никто не отменял, не?
Ну не по одному же плагину. Автоматом для FAR 3 x64 копилится каждый из плагинов. А все компилятся только для FAR 2 (x32 и x64). Пытался в имеющихся выстроить связь-зависимость как запустить один батник и собрать все плагины именно под far3x64 - не нашел.
Re: Кто какими батниками собирает фар и плагины
Posted: Mon 05 Mar, 2012 15:06
by Max Rusov
Kirill wrote:Еще бы понять как Max собирает все плагины под FAR 3 x64?
Но, пока под Far3 портировано не все, что-то не соберется. То, что не собирается надо исключить удалением батника fpc64.bat из каталога плагина.
Warning: Only one source file supported, changing source file to compile from "DlgSelect.dpr" into "Far3"
Target OS: Win64 for x64
Fatal: Can't open file "Far3"
Fatal: Compilation aborted
Re: Кто какими батниками собирает фар и плагины
Posted: Tue 06 Mar, 2012 09:21
by Max Rusov
Я обновил батники. Теперь должно все собираться.
Re: Кто какими батниками собирает фар и плагины
Posted: Tue 06 Mar, 2012 09:36
by Kirill
Max Rusov, собираются. Спасибо.
Собрать Far самому
Posted: Tue 26 Jun, 2012 22:12
by mihmig
Подскажите необходимый и достаточный набор средств и настроек для "сборки far-а самому, из исходников.
Вот так чтоб развернул архив в папку, нажал батник - и всё.
Зачем мне это надо:
1. Хочу добавить свои хоткеи в главное меню (не, макросы не прокатят - таскаю фар на флешке)
2. Хочу слегка перекрасить цветовую схему (именно дефолтную, т.к. см. п.1 - у клиента может быть и свой фар)
3. Вшить FarEng.lng и FarEng.hlf - ну не нравится мне кучка файлов рядом с фаром без которой он не запускается.
Наверное нужен какой-то mingw (для кошерности и расовой верности) а не MSVC?
И еще сыфшал, что сам фар и плагины к нему собираются разными компиляторами?