File: NMakefile

package info (click to toggle)
openmm 7.7.0%2Bdfsg-9
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 114,116 kB
  • sloc: xml: 376,993; cpp: 198,330; python: 31,278; ansic: 5,610; lisp: 2,294; sh: 415; f90: 233; makefile: 223; csh: 19
file content (63 lines) | stat: -rw-r--r-- 1,937 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# ----------------------------------------------------------------------
# Microsoft NMakefile for OpenMM Preview Release 4 "hello world" examples.
# August 19, 2009.
# See https://simtk.org/home/openmm.
# ----------------------------------------------------------------------
# This assumes you have gcc compilers for whatever language you are
# using: cl for C++ and C, ifort for Fortran 95.
# 

OpenMM_INSTALL_DIR="C:/Program Files/OpenMM"
CC = cl
FC = ifort
CFLAGS = /MD /EHsc
FFLAGS = /MD

# Extra libraries required when ifort links with a C++ module.
FCPPLIBS = 

LIB_DIR=$(OpenMM_INSTALL_DIR)/lib
INCLUDE_DIR=$(OpenMM_INSTALL_DIR)/include
LIBS= OpenMM.lib

ALL_CPP_EXAMPLES = HelloArgon HelloSodiumChloride HelloEthane HelloWaterBox
ALL_C_EXAMPLES   = HelloArgonInC HelloSodiumChlorideInC
ALL_F95_EXAMPLES = HelloArgonInFortran HelloSodiumChlorideInFortran

ALL_PROGS = $(ALL_CPP_EXAMPLES) $(ALL_C_EXAMPLES) $(ALL_F95_EXAMPLES)

default: HelloArgon

all : cpp cc fortran

cpp c++: $(ALL_CPP_EXAMPLES)

cc: $(ALL_C_EXAMPLES)

fortran: $(ALL_F95_EXAMPLES)


# Treat all .cpp source files the same way.
HelloArgon HelloSodiumChloride HelloEthane HelloWaterBox: 
	$(CC) $(CFLAGS) -I$(INCLUDE_DIR) $*.cpp /link /libpath:$(LIB_DIR) $(LIBS) /out:$*.exe

HelloArgonInC: HelloArgonInC.c
	$(CC) $(CFLAGS) -I$(INCLUDE_DIR) $*.c /link /libpath:$(LIB_DIR) $(LIBS) /out:$*.exe

HelloSodiumChlorideInC: HelloSodiumChlorideInC.c
	$(CC) $(CFLAGS) -I$(INCLUDE_DIR) $*.c /link /libpath:$(LIB_DIR) $(LIBS) /out:$*.exe

HelloArgonInFortran: HelloArgonInFortran.f90 openmm.mod
	$(FC) $(FFLAGS) $*.f90 /link /libpath:$(LIB_DIR) $(LIBS) /out:$*.exe

HelloSodiumChlorideInFortran: HelloSodiumChlorideInFortran.f90 openmm.mod
	$(FC) $(FFLAGS) $*.f90 /link /libpath:$(LIB_DIR) $(LIBS) /out:$*.exe


# Build Fortran 95 Module file
openmm.mod:
	$(FC) -c $(FFLAGS) $(INCLUDE_DIR)/OpenMMFortranModule.f90

clean : 
	del *.mod *.obj *.exe *.pdb *.exe.manifest