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:
parent
7fc44367d0
commit
ed38be7ebf
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user