bug 4548
[scilab.git] / scilab / modules / dynamic_link / src / scripts / Makefile.incl.mak
index 7039a88..b0c99a1 100644 (file)
@@ -30,7 +30,7 @@ LINKER_OPTIMISATION_MODE=/RELEASE
 CC__OPTIMISATION_MODE=-Z7 -O2
 !ENDIF
 
-CC_COMMON=-D__MSC__ $(DWIN) -c -DSTRICT -D_CRT_SECURE_NO_DEPRECATE -D__MAKEFILEVC__ -nologo $(INCLUDES)
+CC_COMMON=-D__MSC__ -DFORDLL $(DWIN) -c -DSTRICT -D_CRT_SECURE_NO_DEPRECATE -D__MAKEFILEVC__ -nologo $(INCLUDES)
 LINKER_FLAGS=/NOLOGO $(MACHINE) $(LINKER_OPTIMISATION_MODE)
 CC_OPTIONS = $(CC_COMMON) -W3 -Gd $(CC__OPTIMISATION_MODE) /Fo"$(DIR_OBJ)/" /Fd"$(DIR_OBJ)/"
 
@@ -65,8 +65,21 @@ USE_F2C=NO
 # if USE_F2C is set to NO we will use the following Fortran compiler (i.e Intel Fortran 10.x)
 !IF "$(USE_F2C)" == "NO"
 FC=ifort 
-FC_OPTIONS=/debug /nologo /assume:underscore /compile_only /iface:cref /names:lowercase /Fo"$(DIR_OBJ)/" /Fd"$(DIR_OBJ)/" \
+FC_OPTIONS_COMMON=/nologo /G6 /DFORDLL /assume:underscore \
+/noaltparam /f77rtl /fpscomp:nolibs /names:lowercase \
+/iface:cref /libs:dll /threads /dbglibs /c /Qvc9 \
+/Fo"$(DIR_OBJ)/" /Fd"$(DIR_OBJ)/" \
 /include:"$(SCIDIR1)/modules/core/includes"
+#==================================================
+!IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
+FC_OPTIONS=$(FC_OPTIONS_COMMON) /Zi /Od /debug /dbglibs
+FORTRAN_RUNTIME_LIBRARIES = libifcoremdd.lib libmmdd.lib
+#==================================================
+!ELSE
+FC_OPTIONS=$(FC_OPTIONS_COMMON)
+FORTRAN_RUNTIME_LIBRARIES = libifcoremd.lib libmmd.lib
+!ENDIF
+#==================================================
 LINKER_FLAGS=$(LINKER_FLAGS) /force:multiple
 !ENDIF
 #==================================================
@@ -87,62 +100,60 @@ SCILAB_LIBS="$(SCIDIR1)/bin/MALLOC.lib" "$(SCIDIR1)/bin/blasplus.lib" \
 "$(SCIDIR1)/bin/libintl.lib" "$(SCIDIR1)/bin/linpack_f.lib" \
 "$(SCIDIR1)/bin/call_scilab.lib" "$(SCIDIR1)/bin/time.lib"
 #==================================================
-.c{$(DIR_OBJ)}.obj     :
-       @echo ------------- Compile file $< --------------
-       -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
-       $(CC) $(CFLAGS) $< 
-
-.cxx{$(DIR_OBJ)}.obj   :
-       @echo ------------- Compile file $< --------------
-       -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
-       @$(CC) $(CFLAGS) /EHsc $< 
-
-.cpp{$(DIR_OBJ)}.obj   :
-       @echo ------------- Compile file $< --------------
-       -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
-       @$(CC) $(CFLAGS) /EHsc $<
-
-# default rule for Fortran 77 & 90 Compilation 
-
+# default rules for Fortran 77 & 90 Compilation 
+#==================================================
 !IF "$(USE_F2C)" == "YES"
-
+#==================================================
+# F2C
+#==================================================
 .f{$(DIR_OBJ)}.obj     :
        @echo ----------- Compile file $< (using f2c) -------------
 !IF "$(F2C_IMPORT_COMMON)" == "YES"    
        @"$(SCIDIR1)/bin/f2c.exe" -E -I"$(SCIDIR1)/modules/core/includes" $(FFLAGS) $< 2>NUL
-!ELSE  
+!ELSE
        @"$(SCIDIR1)/bin/f2c.exe" -I"$(SCIDIR1)/modules/core/includes" $(FFLAGS) $< 2>NUL
 !ENDIF
        -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
-       @$(CC) $(CFLAGS) $<
-!IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
 
+       @$(CC) $(CFLAGS) $(<:.f=.c)
+!IF "$(DEBUG_SCILAB_DYNAMIC_LINK)" == "YES"
 !ELSE
-       -del $< 
+  -del $(<:.f=.c)
 !ENDIF
-       
-!ELSE 
-
+.f90{$(DIR_OBJ)}.obj   :
+       @echo F2C cannot build .f90 file        
+!ELSE
+#==================================================
+# INTEL FORTRAN
+#==================================================
 .f{$(DIR_OBJ)}.obj     :
-       @echo -----------Compile file $<  (using $(FC)) -------------
+       @echo ----------- Compile file $< (using INTEL FORTRAN) -------------
        -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
        @$(FC) $(FFLAGS) $<
-       
-!ENDIF
-
-!IF "$(USE_F2C)" == "YES"
-
-.f90.obj       :
-       @echo F2C cannot build .f90 file
-!ELSE 
-
 .f90{$(DIR_OBJ)}.obj   :
-       @echo -----------Compile file $<  (using $(FC)) -------------
+       @echo ----------- Compile file $< (using INTEL FORTRAN) -------------
        -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
        @$(FC) $(FFLAGS) $<
-       
 !ENDIF
-
+#==================================================
+# default rules for C++
+#==================================================
+.cxx{$(DIR_OBJ)}.obj   :
+       @echo ------------- Compile file $< --------------
+       -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
+       @$(CC) $(CFLAGS) /EHsc $< 
+#==================================================
+.cpp{$(DIR_OBJ)}.obj   :
+       @echo ------------- Compile file $< --------------
+       -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
+       @$(CC) $(CFLAGS) /EHsc $<
+#==================================================
+# default rules for C
+#==================================================
+.c{$(DIR_OBJ)}.obj     :
+       @echo ------------- Compile file $< --------------
+       -IF NOT EXIST  $(DIR_OBJ) mkdir $(DIR_OBJ)
+       $(CC) $(CFLAGS) $< 
 #==================================================
 # clean 
 RM = del