Next: NDP
Up: Uruchamianie solvera
Previous: Kompilacja i łączenie źródeł
  Spis treści
Kompilacja i łączenie plików [5] źródłowych solvera dokonujemy pisząc komendę:
fl32 /Ox *.for
w wyniku której otrzymujemy plik wykonywalny oraz pliki typu
all_gam.exe
Możemy się też posłużyć standardowym narzędziem F32 (Project-Edit), tworząc plik
nazwa-pliku_wykonywalnego.fmk
który ma postać:
\tiny{
PROJ = nazwa-pliku_wykonywalnego
DEBUG = 0
PROGTYPE = 0
CALLER =
ARGS =
DLLS =
D_RCDEFINES = -d_DEBUG
R_RCDEFINES = -dNDEBUG
ORIGIN = F32VWB
ORIGIN_VER = 1.00
PROJPATH = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\
KNARF =
F32 = fl32
F32FLAGS_D_DEXE = /Zi
F32FLAGS_R_DEXE = /G4 /Ge /Ox /Op /D "NDEBUG"
F32FLAGS_D_LIB = /Zi
F32FLAGS_R_LIB = /Ox /DNDEBUG
L32FLAGS_D_DEXE = -debug:full -machine:i386 -base:0x00010000 -subsystem:console -entry:mainCRTStartup -debugtype:cv4
L32FLAGS_R_DEXE = -machine:i386 -base:0x00010000 -subsystem:console -entry:mainCRTStartup
L32FLAGS_D_DEXEUB = -machine:i386 -base:0x00010000 -subsystem:console -entry:mainCRTStartup -debug:full -debugtype:cv4
L32FLAGS_R_DEXEUB = -machine:i386 -base:0x00010000 -subsystem:console -entry:mainCRTStartup
LIBS_D_DEXE = libf.lib libc.lib kernel32.lib ntdll.lib
LIBS_R_DEXE = libf.lib libc.lib kernel32.lib ntdll.lib
LIBS_D_BEXE = libf.lib libc.lib kernel32.lib ntdll.lib
LIBS_R_BEXE = libf.lib libc.lib kernel32.lib ntdll.lib
RUNFLAGS =
OBJS_EXT =
LIBS_EXT =
!if "$(DEBUG)" == "1"
F32FLAGS = $(F32FLAGS_D_DEXE)
L32FLAGS = $(L32FLAGS_D_DEXE)
LIBS = $(LIBS_D_DEXE)
!else
F32FLAGS = $(F32FLAGS_R_DEXE)
L32FLAGS = $(L32FLAGS_R_DEXE)
LIBS = $(LIBS_R_DEXE)
!endif
SBRS = ALL_GAM.SBR \
BLOCKFUN.SBR \
DOOR.SBR \
FIND_GAM.SBR \
FINDTAU.SBR \
FLOW2D.SBR \
FUN_IMP.SBR \
IMP_NEW.SBR \
NACHPOLE.SBR \
PRO_RIB.SBR \
R_DATA.SBR \
RIB_FUN.SBR \
RR1DN.SBR \
UNDIM.SBR \
W_DATA.SBR
ALL_GAM_DEP =
BLOCKFUN_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
DOOR_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
FIND_GAM_DEP =...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
FINDTAU_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
FLOW2D_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
FUN_IMP_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
IMP_NEW_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
NACHPOLE_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
PRO_RIB_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
R_DATA_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
RIB_FUN_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
RR1DN_DEP =
UNDIM_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
W_DATA_DEP = ...\FLOWERKP ver.2.1\KATALOG_GłóWNY\FLOWER-K.SRC\size.inc
all: $(PROJ).EXE
ALL_GAM.OBJ: ALL_GAM.FOR $(ALL_GAM_DEP)
$(F32) $(F32FLAGS) /c ALL_GAM.FOR
BLOCKFUN.OBJ: BLOCKFUN.FOR $(BLOCKFUN_DEP)
$(F32) $(F32FLAGS) /c BLOCKFUN.FOR
DOOR.OBJ: DOOR.FOR $(DOOR_DEP)
$(F32) $(F32FLAGS) /c DOOR.FOR
FIND_GAM.OBJ: FIND_GAM.FOR $(FIND_GAM_DEP)
$(F32) $(F32FLAGS) /c FIND_GAM.FOR
FINDTAU.OBJ: FINDTAU.FOR $(FINDTAU_DEP)
$(F32) $(F32FLAGS) /c FINDTAU.FOR
FLOW2D.OBJ: FLOW2D.FOR $(FLOW2D_DEP)
$(F32) $(F32FLAGS) /c FLOW2D.FOR
FUN_IMP.OBJ: FUN_IMP.FOR $(FUN_IMP_DEP)
$(F32) $(F32FLAGS) /c FUN_IMP.FOR
IMP_NEW.OBJ: IMP_NEW.FOR $(IMP_NEW_DEP)
$(F32) $(F32FLAGS) /c IMP_NEW.FOR
NACHPOLE.OBJ: NACHPOLE.FOR $(NACHPOLE_DEP)
$(F32) $(F32FLAGS) /c NACHPOLE.FOR
PRO_RIB.OBJ: PRO_RIB.FOR $(PRO_RIB_DEP)
$(F32) $(F32FLAGS) /c PRO_RIB.FOR
R_DATA.OBJ: R_DATA.FOR $(R_DATA_DEP)
$(F32) $(F32FLAGS) /c R_DATA.FOR
RIB_FUN.OBJ: RIB_FUN.FOR $(RIB_FUN_DEP)
$(F32) $(F32FLAGS) /c RIB_FUN.FOR
RR1DN.OBJ: RR1DN.FOR $(RR1DN_DEP)
$(F32) $(F32FLAGS) /c RR1DN.FOR
UNDIM.OBJ: UNDIM.FOR $(UNDIM_DEP)
$(F32) $(F32FLAGS) /c UNDIM.FOR
W_DATA.OBJ: W_DATA.FOR $(W_DATA_DEP)
$(F32) $(F32FLAGS) /c W_DATA.FOR
$(PROJ).EXE:: ALL_GAM.OBJ BLOCKFUN.OBJ DOOR.OBJ FIND_GAM.OBJ FINDTAU.OBJ FLOW2D.OBJ \
FUN_IMP.OBJ IMP_NEW.OBJ NACHPOLE.OBJ PRO_RIB.OBJ R_DATA.OBJ RIB_FUN.OBJ RR1DN.OBJ \
UNDIM.OBJ W_DATA.OBJ $(OBJS_EXT)
echo >NUL @<<$(PROJ).CRF
ALL_GAM.OBJ
BLOCKFUN.OBJ
DOOR.OBJ
FIND_GAM.OBJ
FINDTAU.OBJ
FLOW2D.OBJ
FUN_IMP.OBJ
IMP_NEW.OBJ
NACHPOLE.OBJ
PRO_RIB.OBJ
R_DATA.OBJ
RIB_FUN.OBJ
RR1DN.OBJ
UNDIM.OBJ
W_DATA.OBJ
$(OBJS_EXT)
$(L32FLAGS)
-out:$(PROJ).EXE
$(MAPFILE)
$(LIBS)
<<
link32 -link @$(PROJ).CRF
bindmsf $(PROJ).EXE
run: $(PROJ).EXE
$(PROJ) $(RUNFLAGS)
$(PROJ).BSC: $(SBRS)
bscmake @<<
/o$@ $(SBRS)
<<
}
w wyniku wykonania Project-Build nazwa_pliku_wykonywalnego.exe otrzymamy
plik nazwa_pliku_wykonywalnego.exe.
Tomasz Ochrymiuk
2000-07-07