next up previous contents
Next: NDP Up: Uruchamianie solvera Previous: Kompilacja i łączenie źródeł   Spis treści

F32

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 $ \ast.obj$
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