2 # Package: RN Makefile System Utility
4 # Desc: Build package header dependency list
5 # Usage: hdrdeps.sh -c <depcmd> -f <depfile> [-o <objdir>] \
6 # [-I<incdir> -I<incdir> ...] sources
8 # hdrdeps.sh -c "gcc -M" -f .deps/deps.<arch> -o obj/obj-<arch> \
9 # -d "-DFOO -UBAR" -I. -I../include foo.c bar.cxx
12 # /*! \cond RNMAKE_DOXY*/
24 # Get options. Note: first colon says that getopts will not print errors.
26 while getopts :${optstr} opt
29 c) depcmd="$OPTARG" ;;
31 f) depfile="$OPTARG" ;;
33 o) objdir="$OPTARG"/ ;;
35 d) cppflags="$OPTARG" ;;
37 I) includes="${includes} -I$OPTARG"
39 *) echo "rnmake: $0: error: Unknown opt: $opt"; exit 2;;
43 shift $(($OPTIND - 1))
47 echo "rnmake: $0: error: No dependency command specfied"
51 if [ "$depfile" = "" ]
53 echo "rnmake: $0: error: No output dependency file specfied"
58 echo '# Dependencies' > ${depfile}
59 echo '#' $(date) >> ${depfile}
60 echo ' ' >> ${depfile}
65 #echo ${depcmd} ${cppflags} $includes $*
68 ${depcmd} ${cppflags} $includes $* >> ${depfile}
70 # Preface object dependency lines with object directory
71 sed -i -e "s%^.*\.o:%${objdir}&%" ${depfile}
76 #/*! \endcond RNMAKE_DOXY */