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 = .
|
top_builddir = .
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
objects = build
|
objects = build
|
||||||
depend = build-deps
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
bindir = @bindir@
|
bindir = @bindir@
|
||||||
|
@ -33,11 +32,10 @@ RANLIB = @RANLIB@
|
||||||
WINDRES = @WINDRES@
|
WINDRES = @WINDRES@
|
||||||
|
|
||||||
TARGET = libSDL.la
|
TARGET = libSDL.la
|
||||||
SOURCES = @SOURCES@
|
|
||||||
OBJECTS = @OBJECTS@
|
OBJECTS = @OBJECTS@
|
||||||
|
VERSION_OBJECTS = @VERSION_OBJECTS@
|
||||||
|
|
||||||
SDLMAIN_TARGET = libSDLmain.a
|
SDLMAIN_TARGET = libSDLmain.a
|
||||||
SDLMAIN_SOURCES = @SDLMAIN_SOURCES@
|
|
||||||
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
|
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
|
||||||
|
|
||||||
# PS3 SPU programs
|
# PS3 SPU programs
|
||||||
|
@ -74,20 +72,15 @@ $(srcdir)/include/SDL_revision.h: update-revision
|
||||||
update-revision:
|
update-revision:
|
||||||
$(SHELL) $(auxdir)/updaterev.sh
|
$(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
|
.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
|
||||||
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
|
|
||||||
|
|
||||||
include $(depend)
|
-include $(OBJECTS:.lo=.d)
|
||||||
|
@DEPENDS@
|
||||||
|
@VERSION_DEPENDS@
|
||||||
|
@SDLMAIN_DEPENDS@
|
||||||
|
|
||||||
$(objects)/$(TARGET): $(OBJECTS)
|
$(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS)
|
||||||
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
|
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
|
||||||
|
|
||||||
$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
|
$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
|
||||||
$(AR) cru $@ $(SDLMAIN_OBJECTS)
|
$(AR) cru $@ $(SDLMAIN_OBJECTS)
|
||||||
|
@ -147,7 +140,7 @@ clean:
|
||||||
distclean: clean
|
distclean: clean
|
||||||
rm -f Makefile include/SDL_config.h sdl-config
|
rm -f Makefile include/SDL_config.h sdl-config
|
||||||
rm -f SDL.qpg
|
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*
|
rm -rf $(srcdir)/autom4te*
|
||||||
find $(srcdir) \( \
|
find $(srcdir) \( \
|
||||||
-name '*~' -o \
|
-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 -lunicows"
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lmsimg32 -lwinmm"
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lmsimg32 -lwinmm"
|
||||||
# The Win32 platform requires special setup
|
# 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"
|
SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
|
||||||
SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
|
SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
|
||||||
SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
|
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"
|
SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
|
OBJECTS=`echo $SOURCES`
|
||||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
|
DEPENDS=`echo $SOURCES`
|
||||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
|
for EXT in asm cc m c S; do
|
||||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
|
OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
|
||||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
|
DEPENDS=`echo "$DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.'$EXT',\\
|
||||||
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
|
$(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'`
|
VERSION_OBJECTS=`echo $VERSION_SOURCES`
|
||||||
SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
|
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
|
# 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
|
dnl Expand the sources and objects needed to build the library
|
||||||
AC_SUBST(ac_aux_dir)
|
AC_SUBST(ac_aux_dir)
|
||||||
AC_SUBST(INCLUDE)
|
AC_SUBST(INCLUDE)
|
||||||
AC_SUBST(SOURCES)
|
|
||||||
AC_SUBST(OBJECTS)
|
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_OBJECTS)
|
||||||
|
AC_SUBST(SDLMAIN_DEPENDS)
|
||||||
AC_SUBST(BUILD_CFLAGS)
|
AC_SUBST(BUILD_CFLAGS)
|
||||||
AC_SUBST(EXTRA_CFLAGS)
|
AC_SUBST(EXTRA_CFLAGS)
|
||||||
AC_SUBST(BUILD_LDFLAGS)
|
AC_SUBST(BUILD_LDFLAGS)
|
||||||
|
@ -2841,7 +2856,4 @@ AC_SUBST(WINDRES)
|
||||||
|
|
||||||
AC_OUTPUT([
|
AC_OUTPUT([
|
||||||
Makefile sdl-config SDL.spec sdl.pc
|
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