Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

компиляция без IDE   Найти похожие ветки 

 
ОлеЛу   (2006-01-18 10:43) [0]

Хочу(надо) компилировать проект без запуска Делфей, по возможности без установки всех своих компонент и прочего на чистой машине


 
wal ©   (2006-01-18 10:49) [1]

dcc32.exe


 
Reindeer Moss Eater ©   (2006-01-18 10:53) [2]

по возможности без установки всех своих компонент

Смотря что под этим понимается. BPL от своих библиотек все равно должны присутствовать на диске.


 
ОлеЛу   (2006-01-18 10:55) [3]

с dcc32.exe не все получается...
не могу толком разобраться с параметрами...
точнее скомпиленый файл получается больше чем положено, похоже билдится со всеми пакетами, а мне надо чтоб без


 
Reindeer Moss Eater ©   (2006-01-18 10:58) [4]

>с dcc32.exe не все получается...

Ну а без dcc32 вообще ничего не получится.


 
ОлеЛу   (2006-01-18 11:11) [5]

Поэтому я и спрашиваю...
пока компилится не так как надо, хочу узнать как правильно
как заставить смотреть на файд .dof&


 
Reindeer Moss Eater ©   (2006-01-18 11:25) [6]

Никак. Это опции для IDE
Смотри описание параметров командной строки dcc32.exe


 
Reindeer Moss Eater ©   (2006-01-18 11:29) [7]

-LUvcl;rtl;vclx;dbrtl;........


 
ОлеЛу   (2006-01-18 11:39) [8]


> -LUvcl;rtl;vclx;dbrtl;........

у меня в группе несколько проектов, и для каждого свой список пакетов...
не могу же я руками каждый раз переписывать командный файл для компиляции...
неужели никак нельзя подключить родной .dof файл?


 
Плохиш ©   (2006-01-18 11:51) [9]


> ОлеЛу   (18.01.06 11:39) [8]

Перед компиляцией делай переход в каталог с dpr. Всё остальное описано в справке по dcc.


 
Reindeer Moss Eater ©   (2006-01-18 12:15) [10]

Один dpr = один бат файл его собирающий.


 
ОлеЛу   (2006-01-18 12:15) [11]


> Перед компиляцией делай переход в каталог с dpr. Всё остальное
> описано в справке по dcc.

у меня в группе штук 10 проектов(ехе, длл, бпл) все в разных папочках, так если я буду делать (set dir ...) то файлики .dof подхватятся?


 
ssk ©   (2006-01-18 15:52) [12]

>ОлеЛу

вот, может немного не из той оперы, но вдруг поможет
http://www.delphiplus.org/articles/delphi/use_bpg_for_batch_compilation.html


 
ОлеЛу   (2006-01-18 16:50) [13]

Спасибо всем, мне дали ссылочку где все подробно описано... буду проверять
 http://www.delphiplus.org/articles/delphi/use_bpg_for_batch_compilation.html


 
Alex Konshin ©   (2006-01-19 14:20) [14]

dcc ищет файл <имя_проекта>.cfg в директории.
Файл .dof игнорируется. Да и не нужен он.
.cfg проще - там просто список опций.
То есть, все еще проще, чем написано в статье.
У меня тоже есть пример на эту тему.
Посмотри http://home.earthlink.net/~akonshin/files/Test.zip
Вообще-то почитай про makefile, все поймешь. Только учти, что это make от borland и он отличается от других. В справке по Delphi есть совсем чуть-чуть про него. Ну а потом с помощью метода научного тыка и какой-то матери добьешься того, чего нужно. Когда я уезжал из Питера 5 лет назад в проекте уже тогда было с десяток dll, exe и bpl. И все собиралось одним .bpg. Могу даже поискать, он у меня тут где-то должен быть.


 
Alex Konshin ©   (2006-01-19 14:21) [15]

Вот он какой:
#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------

OFFICE = $(SOURCEROOT)\Office

# Опции компилятора.
# Внимание: Для установки опций компилятора на Вашей машине нужно редактировать
# файл options.mak, а не этот файл.

# Опции отладки.
# Управляют генерацией кода выдачи OutputDebugString и других
# отладочных сообщений.
# Опция -DWS2_DLL_TRACE включает трассировку вызовов WS2_32.DLL (Winsock2)
#DEBUGOPTIONS = -Ddebug_acnt -Ddebug_ifs -Ddebug_xp_acnt
#DEBUGOPTIONS = -Ddebug
DEBUGOPTIONS = -Ddebug_acnt
#DEBUGOPTIONS = -Ddebug_acnt -Ddebug_flarp -Ddebug_arrays -Ddebug_arraygrid
#DEBUGOPTIONS = -Ddebug_arrays -Ddebug_arraygrid

# Общии опции компиляции, которые действуют во всех режимах.
# Опция -DWS2_DLL_DYNAMIC_LOAD включает динамическую линковку WS2_32.DLL (Winsock2)
OPT = -Q

# Локальные настройки опций компилятора.
!include $(SOURCEROOT)\options.mak

#------------------------------------------------------------------------------

!ifdef DEBUG
Debug = 1
!endif

!ifdef Debug

#CREATEMAP = 1
#DCCOPTIONS = $(OPT) -GD $(DEBUGOPTIONS) -B
CREATEMAP = 0
DCCOPTIONS = $(OPT) $(DEBUGOPTIONS) -B
!ifndef CFG
CFG = Debug
!endif

!else

CREATEMAP = 0
!ifndef CFG
CFG = Release
!endif

!if $(CFG)=="Debug"
#DCCOPTIONS = $(OPT) -GD $(DEBUGOPTIONS) -B
DCCOPTIONS = $(OPT) $(DEBUGOPTIONS) -B
!else
!ifdef REBUILD
DCCOPTIONS = $(OPT) -B
!else
DCCOPTIONS = $(OPT)
!endif
!endif
!endif

OUTPUT = $(CFG)

BIN = $(SOURCEROOT)\$(OUTPUT)\Bin
DCU = $(SOURCEROOT)\$(OUTPUT)\DCU
SVRBIN = $(SOURCEROOT)\$(OUTPUT)\FlarpServer
SVCBIN = $(SOURCEROOT)\$(OUTPUT)\FlarpService

BUILDOPTIONS = $(DCCOPTIONS) -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -LE"$(BIN)" -E"$(BIN)"

MAKE = $(MAKEDIR)\make.exe -$(MAKEFLAGS) -f$**
BRCC = $(MAKEDIR)\brcc32.exe $**

DCC = $(DELPHI)\BIN\dcc32.exe $(DCCOPTIONS)
BUILD = $(DELPHI)\BIN\dcc32.exe $(BUILDOPTIONS)
MAKEBPL = $(DCC) $(@B).dpk
MAKEDLL = $(DCC) $(@B).dpr
MAKEEXE = $(DCC) $(@B).dpr

#------------------------------------------------------------------------------
FlarpDLLs = {$(BIN)\}Invoice.dll \
{$(BIN)\}Payment.dll \
{$(BIN)\}Trade.dll \
{$(BIN)\}Analyze.dll \
{$(BIN)\}Control.dll

PROJECTS = {$(SOURCEROOT)\}GenVerInfo.exe \
{$(BIN)\}FlarpArrays.bpl \
{$(BIN)\}Acnt.bpl \
{$(BIN)\}FlarpControls.bpl \
{$(BIN)\}Flarp.bpl \
{$(BIN)\}Office.exe \
{$(SVCBIN)\}AcntMSSQL.dll \
{$(SVCBIN)\}FlarpMSSQL.dll \
{$(SVCBIN)\}FlarpService.exe \
{$(SVRBIN)\}FlarpServer.exe \
{$(SOURCEROOT)\$(OUTPUT)\}xp_acnt.dll
#------------------------------------------------------------------------------

!ifdef TARGETDLL

$(TARGETDLL).dll: {$(BIN)\}Flarp.bpl
echo ==== $@ ====
 cd $(OFFICE)\Operations\$(@B)
$(BUILD) $(@B).dpr

!else

.SUFFIXES: .dll .src

{$(OFFICE)\Operations\}.src.dll:
echo ==== $@ ====
 cd $(OFFICE)\Operations\$(@B)
 $(BUILD) $(@B).dpr

MakeSrc::
for /R $(OFFICE)\Operations\ %I in (*.dpr) do @echo %I> $(OFFICE)\Operations\%~nI.src
# for /R $(OFFICE)\Operations\ %s in (*.dpr) do @copy /Y %s $(OFFICE)\Operations\*.src > nul

FlarpDLLs:: {$(BIN)\}Flarp.bpl {$(BIN)\}Office.exe MakeSrc $(FlarpDLLs)

!endif

dirs::
if not exist $(SOURCEROOT)\$(OUTPUT) mkdir $(SOURCEROOT)\$(OUTPUT)
if not exist $(BIN) mkdir $(BIN)
if not exist $(DCU) mkdir $(DCU)
if not exist $(SVCBIN) mkdir $(SVCBIN)
if not exist $(SVRBIN) mkdir $(SVRBIN)

Acnt.bpl: dirs VerInfo {$(BIN)\}FlarpArrays.bpl
echo ==== $@ ====
 cd $(SOURCEROOT)\AcntCore
$(BUILD) $(@B).dpk
 copy $(BIN)\$(@F) $(SVCBIN)\>nul
 copy $(BIN)\$(@F) $(SVRBIN)\>nul

FlarpArrays.bpl: dirs
echo ==== $@ ====
 cd $(SOURCEROOT)\FlarpArrays
$(BUILD) $(@B).dpk
 copy $(BIN)\$(@F) $(SVCBIN)\>nul
 copy $(BIN)\$(@F) $(SVRBIN)\>nul

FlarpService.exe: dirs {$(BIN)\}Acnt.bpl
 echo ==== $@ ====
 cd $(SOURCEROOT)\FlarpService
$(DCC) -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -LE"$(SOURCEROOT)\$(OUTPUT)$(SVCBIN)" -E"$(SVCBIN)" $(@B).dpr
if .$(CREATEMAP) == .1 copy $(BIN)\*.map $(SVCBIN)\>nul

FlarpServer.exe: dirs {$(BIN)\}Acnt.bpl {$(BIN)\}FlarpControls.bpl
 echo ==== $@ ====
 cd $(SOURCEROOT)\FlarpServer
$(DCC) -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -LE"$(SVRBIN)" -E"$(SVRBIN)" $(@B).dpr
if .$(CREATEMAP) == .1 copy $(BIN)\*.map $(SVRBIN)\>nul

FlarpControls.bpl: dirs {$(BIN)\}FlarpArrays.bpl
echo ==== $@ ====
 cd $(SOURCEROOT)\FlarpControls
$(BUILD) $(@B).dpk
 copy $(BIN)\$(@F) $(SVRBIN)\>nul

Flarp.bpl: dirs {$(BIN)\}Acnt.bpl {$(BIN)\}FlarpControls.bpl
echo ==== $@ ====
 cd $(OFFICE)\shares
$(BUILD) $(@B).dpk

Office.exe: dirs {$(BIN)\}Flarp.bpl
 echo ==== $@ ====
 cd $(OFFICE)
$(BUILD) $(@B).dpr

AcntMSSQL.dll: {$(BIN)\}Acnt.bpl
 echo ==== $@ ====
 cd $(SOURCEROOT)\AcntMSSQL
$(DCC) -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -LE"$(SVCBIN)" -E"$(SVCBIN)" $(@B).dpr
 copy $(SVCBIN)\$(@F) $(SVRBIN)\>nul

FlarpMSSQL.dll: {$(BIN)\}Acnt.bpl
 echo ==== $@ ====
 cd $(SOURCEROOT)\FlarpMSSQL
$(DCC) -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -LE"$(SVCBIN)" -E"$(SVCBIN)" $(@B).dpr
 copy $(SVCBIN)\$(@F) $(SVRBIN)\>nul

xp_acnt.dll: dirs
 echo ==== $@ ====
 cd $(SOURCEROOT)\xp_acnt
$(DCC) -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -U"$(SOURCEROOT)\AcntMSSQL" -U"$(SOURCEROOT)\AcntCore"  -U"$(SOURCEROOT)\FlarpArrays" -LE"$(SOURCEROOT)\$(OUTPUT)" -E"$(SOURCEROOT)\$(OUTPUT)" $(@B).dpr

GenVerInfo.exe: dirs {$(BIN)\}FlarpArrays.bpl {$(SOURCEROOT)\GenVerInfo\}GenVerInfo.dpr
echo ==== GenVerInfo ====
 cd $(SOURCEROOT)\GenVerInfo
$(DELPHI)\BIN\dcc32.exe -Q -B -LN"$(DCU)" -N"$(DCU)" -U"$(DCU)" -E"$(SOURCEROOT)" $(SOURCEROOT)\GenVerInfo\GenVerInfo.dpr

VerInfo:: {$(SOURCEROOT)\}GenVerInfo.exe {$(SOURCEROOT)\}VerInfo.ver
cd $(SOURCEROOT)
$(SOURCEROOT)\GenVerInfo.exe "VerInfo.ver"

AcntCore:: dirs VerInfo Arrays {$(BIN)\}Acnt.bpl

FlarpArrays:: dirs {$(BIN)\}FlarpArrays.bpl

Flarp:: dirs {$(BIN)\}Flarp.bpl

FlarpControls:: dirs {$(BIN)\}FlarpControls.bpl

Office:: dirs {$(BIN)\}Office.exe

FlarpService:: dirs {$(SVCBIN)\}FlarpService.exe {$(SVCBIN)\}AcntMSSQL.dll {$(SVCBIN)\}FlarpMSSQL.dll

FlarpServer:: dirs {$(SVRBIN)\}FlarpServer.exe {$(SVCBIN)\}AcntMSSQL.dll {$(SVCBIN)\}FlarpMSSQL.dll

All:: dirs $(PROJECTS) FlarpDLLs

default:: dirs $(PROJECTS) FlarpDLLs

#.IGNORE:

.SILENT :

clear:
-del $(BIN)\*.exe
-del $(BIN)\*.dll
-del $(BIN)\*.bpl
-del $(BIN)\*.map
-del $(DCU)\*.dcu
-del $(DCU)\*.dcp
-del $(SVCBIN)\*.exe
-del $(SVCBIN)\*.bpl
-del $(SVCBIN)\*.dll
-del $(SVCBIN)\*.map
-del $(SVRBIN)\*.exe
-del $(SVRBIN)\*.bpl
-del $(SVRBIN)\*.dll
-del $(SVRBIN)\*.map



 
Alex Konshin ©   (2006-01-19 14:26) [16]

Я его привел потому, что в нем можно много чего подсмотреть.


 
Джо ©   (2006-01-19 15:20) [17]

> [16] Alex Konshin ©   (19.01.06 14:26)

Спасибо. Помню, что вы его когда-то выкладывали, а найти за давностью не смог. Действительно, есть что посмотреть :)



Страницы: 1 вся ветка

Текущий архив: 2006.02.19;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.069 c
15-1138696408
syte_ser78
2006-01-31 11:33
2006.02.19
символ перехода на следующую строку?


2-1138965450
guitarist
2006-02-03 14:17
2006.02.19
String --> PAnsiChar


15-1138240384
vidiv
2006-01-26 04:53
2006.02.19
Что это за песенка?


15-1138640973
Tarantiono
2006-01-30 20:09
2006.02.19
"Программирование серверных приложений для Windows 2000", Дж. Рих


3-1135322035
SeZuka
2005-12-23 10:13
2006.02.19
Отлючение триггера