diff --git a/build/makefile b/build/makefile index 43e1b6f..cd85578 100644 --- a/build/makefile +++ b/build/makefile @@ -51,11 +51,11 @@ endif #------------------------------------------------------------------------------- # -# generate new makedeps file if does not exists +# generate object file dependencies # $(info Generating dependencies.) $(shell ./mkdeps.sh $(SRCSDIR) $(OBJSDIR) > makedeps) -$(shell sleep 1) +$(info ) #------------------------------------------------------------------------------- # @@ -93,7 +93,7 @@ modules = algebra blocks boundaries constants coordinates domains driver \ shapes sources timers user_problem utils sources := $(addprefix $(SRCSDIR)/,$(addsuffix .F90, $(modules))) -objects := $(addprefix $(OBJSDIR)/,$(addsuffix .o, $(modules))) +objects := $(addprefix $(OBJSDIR)/,$(addsuffix .o, $(modules))) all: $(name).x @@ -116,7 +116,7 @@ clean: #------------------------------------------------------------------------------- # -# object files dependencies (generated using mkdeps.sh script) +# object file dependencies (generated using mkdeps.sh script) # include makedeps diff --git a/build/mkdeps.sh b/build/mkdeps.sh index d7516fe..5884aa5 100755 --- a/build/mkdeps.sh +++ b/build/mkdeps.sh @@ -1,8 +1,20 @@ #!/bin/sh # +# A script to generate compile dependencies for Fortran files. +# +# Usage: +# +# mkdep.sh (FORTRAN_SOURCE_FILE_PATH) (OBJECT_FILE_PATH) +# +# Example: +# +# mkdep.sh ../src ./obj +# +# Requirements: awk, sort, uniq +# files=`ls $1/*.F90` for src in $files; do - deps=`grep -i ' use ' $src | awk '{ print $2 }' | sed 's/,//g' | sort | uniq` + deps=`awk '/^\s*[Uu][Ss][Ee] / {gsub ( "[:,]","" ) ; print $2}' $src | sort | uniq` fname=`basename $src .F90` output="$2/${fname}.o: $src" for dep in $deps; do