diff options
author | schnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2004-01-19 11:39:38 +0000 |
---|---|---|
committer | schnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2004-01-19 11:39:38 +0000 |
commit | 882c00e7ab47aa0742796bc32ceb884539de01a5 (patch) | |
tree | 5cdf739c768c323f3a522ef78854c1c8363cfaa0 | |
parent | f3ad6104076416ada4e1f2f64bc55930d511d701 (diff) |
Set the preprocessor flag F90CODE for Fortran 90 source files.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3521 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r-- | lib/make/make.config.rules.in | 8 | ||||
-rw-r--r-- | src/include/cctk.h | 43 |
2 files changed, 41 insertions, 10 deletions
diff --git a/lib/make/make.config.rules.in b/lib/make/make.config.rules.in index 00e3bd09..fceb4d13 100644 --- a/lib/make/make.config.rules.in +++ b/lib/make/make.config.rules.in @@ -52,12 +52,12 @@ define F77_DEPENDENCIES endef define F_DEPENDENCIES - $(F_DEPEND) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE $< $(F_DEPEND_OUT) + $(F_DEPEND) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE -DF90CODE $< $(F_DEPEND_OUT) $(DEPENDENCY_FIXER) endef define F90_DEPENDENCIES - $(F_DEPEND) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE $< $(F_DEPEND_OUT) + $(F_DEPEND) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE -DF90CODE $< $(F_DEPEND_OUT) $(DEPENDENCY_FIXER) endef @@ -116,7 +116,7 @@ endef # Define how to do a fixed-format F90 compilation define PREPROCESS_F -cat $< | sed 's.//.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.g' | $(CPP) $(CPPFLAGS) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE - | $(PERL) -p -e 's/__FORTRANFILE__/\"$(basename $(notdir $<)).F\"/g; s.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.//.g' - | $(PERL) $(F_FILE_PROCESSOR) > $(basename $(notdir $<)).f +cat $< | sed 's.//.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.g' | $(CPP) $(CPPFLAGS) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE -DF90CODE - | $(PERL) -p -e 's/__FORTRANFILE__/\"$(basename $(notdir $<)).F\"/g; s.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.//.g' - | $(PERL) $(F_FILE_PROCESSOR) > $(basename $(notdir $<)).f endef define COMPILE_F @@ -129,7 +129,7 @@ endef # Define how to do a free-format F90 compilation define PREPROCESS_F90 -cat $< | sed 's.//.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.g' | $(CPP) $(CPPFLAGS) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE - | $(PERL) -p -e 's/__FORTRANFILE__/\"$(basename $(notdir $<)).F90\"/g; s.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.//.g' - | $(PERL) -s $(F_FILE_PROCESSOR) -free_format > $(basename $(notdir $<)).$(F90_SUFFIX) +cat $< | sed 's.//.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.g' | $(CPP) $(CPPFLAGS) $(INC_DIRS:%=-I%) $(EXTRA_DEFINES:%=-D%) -DFCODE -DF90CODE - | $(PERL) -p -e 's/__FORTRANFILE__/\"$(basename $(notdir $<)).F90\"/g; s.AUTOMATICALLY_GENERATED_CONCATENATION_PROTECTION_STRING.//.g' - | $(PERL) -s $(F_FILE_PROCESSOR) -free_format > $(basename $(notdir $<)).$(F90_SUFFIX) endef define COMPILE_F90 diff --git a/src/include/cctk.h b/src/include/cctk.h index 74924b47..59ceaabd 100644 --- a/src/include/cctk.h +++ b/src/include/cctk.h @@ -72,12 +72,43 @@ #define CCTK_LSSH(stag,dim) cctk_lssh((stag)+CCTK_NSTAGGER+(dim)) #define CCTK_LSSH_IDX(stag,dim) ((stag)+CCTK_NSTAGGER*(dim)) -#define _DECLARE_CCTK_FUNCTIONS &&\ - integer CCTK_Equals, CCTK_MyProc, CCTK_nProcs, CCTK_IsThornActive&&\ - external CCTK_Equals, CCTK_MyProc, CCTK_nProcs, CCTK_IsThornActive&&\ - CCTK_POINTER CCTK_PointerTo, CCTK_NullPointer&&\ - external CCTK_PointerTo, CCTK_NullPointer - +#ifdef F90CODE + +#define _DECLARE_CCTK_FUNCTIONS \ + external CCTK_PointerTo &&\ + CCTK_POINTER CCTK_PointerTo &&\ + interface &&\ + integer function CCTK_Equals (arg1, arg2) &&\ + implicit none &&\ + CCTK_POINTER_TO_CONST arg1 &&\ + character(*) arg2 &&\ + end function CCTK_Equals &&\ + integer function CCTK_MyProc (cctkGH) &&\ + implicit none &&\ + CCTK_POINTER_TO_CONST cctkGH &&\ + end function CCTK_MyProc &&\ + integer function CCTK_nProcs (cctkGH) &&\ + implicit none &&\ + CCTK_POINTER_TO_CONST cctkGH &&\ + end function CCTK_nProcs &&\ + integer function CCTK_IsThornActive (name) &&\ + implicit none &&\ + character(*) name &&\ + end function CCTK_IsThornActive &&\ + CCTK_POINTER function CCTK_NullPointer () &&\ + implicit none &&\ + end function CCTK_NullPointer &&\ + end interface && + +#else /* ! F90CODE */ + +#define _DECLARE_CCTK_FUNCTIONS \ + integer CCTK_Equals, CCTK_MyProc, CCTK_nProcs, CCTK_IsThornActive &&\ + external CCTK_Equals, CCTK_MyProc, CCTK_nProcs, CCTK_IsThornActive &&\ + CCTK_POINTER CCTK_PointerTo, CCTK_NullPointer &&\ + external CCTK_PointerTo, CCTK_NullPointer && + +#endif /* ! F90CODE */ #endif /*FCODE*/ |