Make mkdeps.sh script more robust.

Get rid of 'grep' and use only 'awk', 'sort' and 'uniq'. All should be
available in any linux system.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
Grzegorz Kowal 2018-03-30 21:31:36 -03:00
parent 7fc44367d0
commit ed38be7ebf
2 changed files with 17 additions and 5 deletions

View File

@ -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

View File

@ -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