Use gcc's built-in dependency generation, thanks to Adam Strzelecki
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403958
This commit is contained in:
parent
7f26231261
commit
361d31ae06
3 changed files with 35 additions and 117 deletions
25
Makefile.in
25
Makefile.in
|
@ -3,7 +3,6 @@
|
|||
top_builddir = .
|
||||
srcdir = @srcdir@
|
||||
objects = build
|
||||
depend = build-deps
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
|
@ -33,11 +32,10 @@ RANLIB = @RANLIB@
|
|||
WINDRES = @WINDRES@
|
||||
|
||||
TARGET = libSDL.la
|
||||
SOURCES = @SOURCES@
|
||||
OBJECTS = @OBJECTS@
|
||||
VERSION_OBJECTS = @VERSION_OBJECTS@
|
||||
|
||||
SDLMAIN_TARGET = libSDLmain.a
|
||||
SDLMAIN_SOURCES = @SDLMAIN_SOURCES@
|
||||
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
|
||||
|
||||
# PS3 SPU programs
|
||||
|
@ -74,20 +72,15 @@ $(srcdir)/include/SDL_revision.h: update-revision
|
|||
update-revision:
|
||||
$(SHELL) $(auxdir)/updaterev.sh
|
||||
|
||||
.PHONY: all update-revision depend install install-bin install-hdrs install-lib install-data install-man uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man clean distclean dist
|
||||
depend: update-revision
|
||||
@SOURCES="$(SOURCES)" INCLUDE="$(INCLUDE)" output="$(depend)" \
|
||||
$(SHELL) $(auxdir)/makedep.sh
|
||||
@for src in $(SDLMAIN_SOURCES); do \
|
||||
obj=`echo $$src | sed -e 's|.*/||' -e 's|\.[^\.]*$$|.o|'`; \
|
||||
echo "\$$(objects)/$$obj: $$src" >>$(depend); \
|
||||
echo " \$$(CC) \$$(CFLAGS) \$$(EXTRA_CFLAGS) -c $$src -o \$$@" >>$(depend); \
|
||||
done
|
||||
.PHONY: all update-revision install install-bin install-hdrs install-lib install-data install-man uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man clean distclean dist
|
||||
|
||||
include $(depend)
|
||||
-include $(OBJECTS:.lo=.d)
|
||||
@DEPENDS@
|
||||
@VERSION_DEPENDS@
|
||||
@SDLMAIN_DEPENDS@
|
||||
|
||||
$(objects)/$(TARGET): $(OBJECTS)
|
||||
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
|
||||
$(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS)
|
||||
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
|
||||
|
||||
$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
|
||||
$(AR) cru $@ $(SDLMAIN_OBJECTS)
|
||||
|
@ -147,7 +140,7 @@ clean:
|
|||
distclean: clean
|
||||
rm -f Makefile include/SDL_config.h sdl-config
|
||||
rm -f SDL.qpg
|
||||
rm -f config.status config.cache config.log libtool $(depend)
|
||||
rm -f config.status config.cache config.log libtool
|
||||
rm -rf $(srcdir)/autom4te*
|
||||
find $(srcdir) \( \
|
||||
-name '*~' -o \
|
||||
|
|
|
@ -1,87 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Generate dependencies from a list of source files
|
||||
|
||||
# Check to make sure our environment variables are set
|
||||
if test x"$INCLUDE" = x -o x"$SOURCES" = x -o x"$output" = x; then
|
||||
echo "SOURCES, INCLUDE, and output needs to be set"
|
||||
exit 1
|
||||
fi
|
||||
cache_prefix=".#$$"
|
||||
|
||||
generate_var()
|
||||
{
|
||||
echo $1 | sed -e 's|^.*/||' -e 's|\.|_|g'
|
||||
}
|
||||
|
||||
search_deps()
|
||||
{
|
||||
base=`echo $1 | sed 's|/[^/]*$||'`
|
||||
grep '#include "' <$1 | sed -e 's|.*"\([^"]*\)".*|\1|' | \
|
||||
while read file
|
||||
do cache=${cache_prefix}_`generate_var $file`
|
||||
if test -f $cache; then
|
||||
: # We already ahve this cached
|
||||
else
|
||||
: >$cache
|
||||
for path in $base `echo $INCLUDE | sed 's|-I||g'`
|
||||
do dep="$path/$file"
|
||||
if test -f "$dep"; then
|
||||
echo " $dep \\" >>$cache
|
||||
search_deps $dep >>$cache
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
cat $cache
|
||||
done
|
||||
}
|
||||
|
||||
:>${output}.new
|
||||
for src in $SOURCES
|
||||
do echo "Generating dependencies for $src"
|
||||
ext=`echo $src | sed 's|.*\.\(.*\)|\1|'`
|
||||
if test x"$ext" = x"rc"; then
|
||||
obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.o|g"`
|
||||
else
|
||||
obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.lo|g"`
|
||||
fi
|
||||
echo "\$(objects)/$obj: $src \\" >>${output}.new
|
||||
search_deps $src | sort | uniq >>${output}.new
|
||||
case $ext in
|
||||
c) cat >>${output}.new <<__EOF__
|
||||
|
||||
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
||||
|
||||
__EOF__
|
||||
;;
|
||||
cc) cat >>${output}.new <<__EOF__
|
||||
|
||||
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
||||
|
||||
__EOF__
|
||||
;;
|
||||
m) cat >>${output}.new <<__EOF__
|
||||
|
||||
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
||||
|
||||
__EOF__
|
||||
;;
|
||||
S) cat >>${output}.new <<__EOF__
|
||||
|
||||
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
|
||||
|
||||
__EOF__
|
||||
;;
|
||||
rc) cat >>${output}.new <<__EOF__
|
||||
|
||||
\$(WINDRES) $src \$@
|
||||
|
||||
__EOF__
|
||||
;;
|
||||
*) echo "Unknown file extension: $ext";;
|
||||
esac
|
||||
echo "" >>${output}.new
|
||||
done
|
||||
mv ${output}.new ${output}
|
||||
rm -f ${cache_prefix}*
|
40
configure.in
40
configure.in
|
@ -2555,7 +2555,7 @@ AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
|
|||
#EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lunicows"
|
||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lmsimg32 -lwinmm"
|
||||
# The Win32 platform requires special setup
|
||||
SOURCES="$SOURCES $srcdir/src/main/win32/*.rc"
|
||||
VERSION_SOURCES="$srcdir/src/main/win32/*.rc"
|
||||
SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
|
||||
SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
|
||||
SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
|
||||
|
@ -2769,15 +2769,28 @@ if test x$SDLMAIN_SOURCES = x; then
|
|||
SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
|
||||
fi
|
||||
|
||||
OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
|
||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
|
||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
|
||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
|
||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
|
||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
|
||||
OBJECTS=`echo $SOURCES`
|
||||
DEPENDS=`echo $SOURCES`
|
||||
for EXT in asm cc m c S; do
|
||||
OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
|
||||
DEPENDS=`echo "$DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.'$EXT',\\
|
||||
$(objects)/\2.lo: \1/\2.'$EXT'\\
|
||||
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -MMD -MT \$@ -c \$< -o \$@,g'`
|
||||
done
|
||||
|
||||
SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
|
||||
SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
|
||||
VERSION_OBJECTS=`echo $VERSION_SOURCES`
|
||||
VERSION_DEPENDS=`echo $VERSION_SOURCES`
|
||||
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
|
||||
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.rc,\\
|
||||
$(objects)/\2.o: \1/\2.rc\\
|
||||
\$(WINDRES) \$< \$@,g'`
|
||||
|
||||
SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
|
||||
SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES`
|
||||
SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
|
||||
SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.c,\\
|
||||
$(objects)/\2.o: \1/\2.c\\
|
||||
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -MMD -MT \$@ -c \$< -o \$@,g'`
|
||||
|
||||
# Set runtime shared library paths as needed
|
||||
|
||||
|
@ -2829,10 +2842,12 @@ AC_SUBST(ENABLE_STATIC_FALSE)
|
|||
dnl Expand the sources and objects needed to build the library
|
||||
AC_SUBST(ac_aux_dir)
|
||||
AC_SUBST(INCLUDE)
|
||||
AC_SUBST(SOURCES)
|
||||
AC_SUBST(OBJECTS)
|
||||
AC_SUBST(SDLMAIN_SOURCES)
|
||||
AC_SUBST(DEPENDS)
|
||||
AC_SUBST(VERSION_OBJECTS)
|
||||
AC_SUBST(VERSION_DEPENDS)
|
||||
AC_SUBST(SDLMAIN_OBJECTS)
|
||||
AC_SUBST(SDLMAIN_DEPENDS)
|
||||
AC_SUBST(BUILD_CFLAGS)
|
||||
AC_SUBST(EXTRA_CFLAGS)
|
||||
AC_SUBST(BUILD_LDFLAGS)
|
||||
|
@ -2841,7 +2856,4 @@ AC_SUBST(WINDRES)
|
|||
|
||||
AC_OUTPUT([
|
||||
Makefile sdl-config SDL.spec sdl.pc
|
||||
], [
|
||||
: >build-deps
|
||||
if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend
|
||||
])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue