1 #==================================================
2 # Visual C++/Intel Fortran 10.x
4 #==================================================
6 MAKE=nmake /f Makefile.mak
7 #==================================================
9 # typically, for compiling use: CFLAGS = $(CC_OPTIONS)
10 # and for linking: $(CC) -o $(PROGRAM) $(OBJS) $(CC_LDFLAGS)
11 #==================================================
15 !IF "$(WIN64)" == "OK"
23 !IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
25 LINKER_OPTIMISATION_MODE=/DEBUG -PDB:"$(DIR_OBJ)\$(LIBRARY).pdb"
26 CC__OPTIMISATION_MODE=-Zi -Od -MDd
29 LINKER_OPTIMISATION_MODE=/RELEASE
30 CC__OPTIMISATION_MODE=-Z7 -O2 -MD -DNDEBUG
33 CC_COMMON=-D__MSC__ -DFORDLL $(DWIN) -c -DSTRICT -D_CRT_SECURE_NO_DEPRECATE -D__MAKEFILEVC__ -nologo $(INCLUDES)
34 LINKER_FLAGS=/NOLOGO $(MACHINE) /DYNAMICBASE:NO /NXCOMPAT:NO $(LINKER_OPTIMISATION_MODE)
35 CC_OPTIONS = $(CC_COMMON) -W3 -Gd $(CC__OPTIMISATION_MODE) /Fo"$(DIR_OBJ)/" /Fd"$(DIR_OBJ)/"
36 #==================================================
38 #==================================================
40 # default usage is to use f2c
41 #==================================================
43 # detect intel fortran compiler
44 !IF "$(IFORT_COMPILER9)" == ""
48 !IF "$(IFORT_COMPILER10)" == ""
52 !IF "$(IFORT_COMPILER11)" == ""
56 !IF "$(IFORT_COMPILER12)" == ""
60 !IF "$(IFORT_COMPILER13)" == ""
64 !IF "$(IFORT_COMPILER14)" == ""
69 #==================================================
70 # if USE_F2C is set to NO we will use the following Fortran compiler (i.e Intel Fortran 10.x)
71 !IF "$(USE_F2C)" == "NO"
73 FC_OPTIONS_COMMON=/nologo /DFORDLL /assume:underscore \
74 /noaltparam /f77rtl /fpscomp:nolibs /names:lowercase \
75 /iface:cref /threads /c /Qvc9 \
76 /Fo"$(DIR_OBJ)/" /Fd"$(DIR_OBJ)/" \
77 /include:"$(SCIDIR)/modules/core/includes"
78 #==================================================
79 !IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
80 FC_OPTIONS=$(FC_OPTIONS_COMMON) /Zi /Od /debug /dbglibs
81 #==================================================
83 FC_OPTIONS=$(FC_OPTIONS_COMMON)
85 #==================================================
86 LINKER_FLAGS=$(LINKER_FLAGS) /force:multiple
88 #==================================================
90 #==================================================
93 #==================================================
94 # default rules for Fortran 77 & 90 Compilation
95 #==================================================
96 !IF "$(USE_F2C)" == "YES"
97 #==================================================
99 #==================================================
101 @echo ----------- Compile file $< (using f2c) -------------
102 !IF "$(F2C_IMPORT_COMMON)" == "YES"
103 @"$(SCIDIR)/bin/f2c.exe" -E -I"$(SCIDIR)/modules/core/includes" $(FFLAGS) $< 2>NUL
105 @"$(SCIDIR)/bin/f2c.exe" -I"$(SCIDIR)/modules/core/includes" $(FFLAGS) $< 2>NUL
107 -IF NOT EXIST $(DIR_OBJ) mkdir $(DIR_OBJ)
109 @$(CC) $(CFLAGS) $(<:.f=.c)
110 !IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
114 .f90{$(DIR_OBJ)}.obj :
115 @echo F2C cannot build .f90 file
117 #==================================================
119 #==================================================
121 @echo ----------- Compile file $< (using INTEL FORTRAN) -------------
122 -IF NOT EXIST $(DIR_OBJ) mkdir $(DIR_OBJ)
124 .f90{$(DIR_OBJ)}.obj :
125 @echo ----------- Compile file $< (using INTEL FORTRAN 90) -------------
126 -IF NOT EXIST $(DIR_OBJ) mkdir $(DIR_OBJ)
129 #==================================================
130 # default rules for C++
131 #==================================================
132 .cxx{$(DIR_OBJ)}.obj :
133 @echo ------------- Compile file $< --------------
134 -IF NOT EXIST $(DIR_OBJ) mkdir $(DIR_OBJ)
135 @$(CC) $(CFLAGS) /EHsc $<
136 #==================================================
137 .cpp{$(DIR_OBJ)}.obj :
138 @echo ------------- Compile file $< --------------
139 -IF NOT EXIST $(DIR_OBJ) mkdir $(DIR_OBJ)
140 @$(CC) $(CFLAGS) /EHsc $<
141 #==================================================
142 # default rules for C
143 #==================================================
145 @echo ------------- Compile file $< --------------
146 -IF NOT EXIST $(DIR_OBJ) mkdir $(DIR_OBJ)
148 #==================================================
151 #==================================================
154 -del "$(DIR_OBJ)\*.obj"
155 !IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
156 -del "$(DIR_OBJ)\*.pdb"
159 #==================================================
162 -del "$(DIR_OBJ)\*.obj"
163 !IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
164 -del "$(DIR_OBJ)\*.pdb"
167 #==================================================