###########################################################################
#                                                                         #
#  Modify this block to the complier(s) you use.                          #
#                                                                         #
###########################################################################

fortran_complier    = fl32          # i.e. Microsoft 32-bit fortran
c_complier          = cl            # i.e. Microsoft C
fortran_directory   = d:\fpsnt      # i.e. directory of fortran compiler
c_directory         = d:\msvcnt     # i.e. directory of C++ compiler
multithreads_option = /MT           # i.e. multiple threads
processor_type      = /G5           # i.e. 586 processor
optimize            = /Ox           # i.e. optimize
SDK_lib             = advapi32.lib  # SDK libraries (required in Mtask)


###########################################################################
#                                                                         #
#  Mtask library                                                          # 
#                                                                         #
###########################################################################

mtask_for_fortran = mtaskf5a.lib       # fortran library for 586 & ASCII std
mtask_for_c       = mtaskc5a.lib       # c library for 586 & ASCII standard


###########################################################################
#                                                                         #
#  Laipe library                                                          #
#                                                                         #
###########################################################################

laipe_for_fortran   = laipef.lib
                              # LAIPE library for FORTRAN calling convention
laipe_for_c         = laipec.lib
                              # LAIPE library for C calling convention


###########################################################################
#                                                                         #
#  Targets                                                                #
#                                                                         #
###########################################################################

fortran : fbanded.exe fmentry.exe
c       : cbanded.exe cmentry.exe
all     : fortran c


###########################################################################
#                                                                         #
#  user_defined macros                                                    #
#                                                                         #
###########################################################################

option           = $(multithreads_option) $(processor_type) $(optimize)
fortran_library  = $(mtask_for_fortran) \
                   $(laipe_for_fortran) \
                   $(fortran_directory)\lib\$(SDK_lib)
c_library        = $(mtask_for_c) \
                   $(laipe_for_c) \
                   $(c_directory)\lib\$(SDK_lib)


###########################################################################
#                                                                         #
#  Inference Rules                                                        #
#                                                                         #
###########################################################################

.for.exe:
        $(fortran_complier) \
        $(option) \
        $(fortran_library) \
        $<
.c.exe:
        $(c_complier) \
        $(option) \
        $(c_library) \
        $<
