diff options
-rw-r--r-- | build.template | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/build.template b/build.template index 15d83f1..c9134ec 100644 --- a/build.template +++ b/build.template @@ -41,20 +41,25 @@ includedir=${prefix}/include # Exit as soon as any command fails. set -e -globobjs="%globobjs%" - -# To make life simpler, just copy the glob sources into this directory. -for file in `echo ${globobjs} | sed 's/\.o/.c/g'`; do - ln ${srcdir}/glob/$file $file || cp ${srcdir}/glob/$file $file -done - -objs="%objs% ${globobjs} ${extras} ${ALLOCA}" +# These are all the objects we need to link together. +objs="%objs% ${extras} ${ALLOCA}" +# Compile the source files into those objects. for file in `echo ${objs} | sed 's/\.o/.c/g'`; do echo compiling ${file}... $CC $CFLAGS $defines -c -I. -I${srcdir} -I${srcdir}/glob ${srcdir}/$file done -echo linking make +# The object files were actually all put in the current directory. +# Remove the source directory names from the list. +srcobjs="$objs" +objs= +for obj in $srcobjs; do + objs="$objs `basename $obj`" +done + +# Link all the objects together. +echo linking make... $CC $LDFLAGS $objs $LOADLIBES -o make.new +echo done mv -f make.new make |