Makefile.in
author Sam Lantinga <slouken@libsdl.org>
Thu, 13 Apr 2006 13:23:56 +0000
changeset 1622 5bbfc3e20e10
parent 1603 64710b9f3eeb
child 1623 09375aed0208
permissions -rw-r--r--
Fixed bug #191
[I opted to go for a warning, since I often tweak configure.in, but don't want to rebuild the entire project]

One thing that was lost in the switch from automake to the new build system is
that there is now no rule to build configure from configure.in.

IMHO, if configure.in gets changed, then at the very least, the build system
should print out a warning (better, again IMHO, an error) about this fact.
Else, you easily forget about this when modifying configure.in.
     1 # Makefile to build and install the SDL library
     2 
     3 top_builddir = .
     4 srcdir  = @srcdir@
     5 objects = build
     6 depend	= build-deps
     7 prefix = @prefix@
     8 exec_prefix = @exec_prefix@
     9 bindir	= $(DESTDIR)@bindir@
    10 libdir  = $(DESTDIR)@libdir@
    11 includedir = $(DESTDIR)@includedir@
    12 datadir	= $(DESTDIR)@datadir@
    13 mandir	= $(DESTDIR)@mandir@
    14 auxdir	= @ac_aux_dir@
    15 distpath = $(srcdir)/..
    16 distdir = SDL-@SDL_VERSION@
    17 distfile = $(distdir).tar.gz
    18 
    19 @SET_MAKE@
    20 SHELL	= @SHELL@
    21 CC      = @CC@
    22 INCLUDE = @INCLUDE@
    23 CFLAGS  = @BUILD_CFLAGS@
    24 EXTRA_CFLAGS = @EXTRA_CFLAGS@
    25 LDFLAGS = @BUILD_LDFLAGS@
    26 EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
    27 LIBTOOL = @LIBTOOL@
    28 INSTALL = @INSTALL@
    29 NASM	= @NASM@ @NASMFLAGS@
    30 AR	= @AR@
    31 RANLIB	= @RANLIB@
    32 
    33 TARGET  = libSDL.la
    34 SOURCES = @SOURCES@
    35 OBJECTS = @OBJECTS@
    36 
    37 SDLMAIN_TARGET = libSDLmain.a
    38 SDLMAIN_SOURCES = @SDLMAIN_SOURCES@
    39 SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
    40 
    41 DIST = acinclude.m4 autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html EpocBuildFiles.zip include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE.zip VisualC.html VisualC.zip Watcom-OS2.zip WhatsNew Xcode.tar.gz
    42 
    43 LT_AGE      = @LT_AGE@
    44 LT_CURRENT  = @LT_CURRENT@
    45 LT_RELEASE  = @LT_RELEASE@
    46 LT_REVISION = @LT_REVISION@
    47 LT_LDFLAGS  = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
    48 
    49 all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
    50 
    51 $(srcdir)/configure: $(srcdir)/configure.in
    52 	@echo "Warning, configure.in is out of date"
    53 	#(cd $(srcdir) && sh autogen.sh && sh configure)
    54 
    55 Makefile: $(srcdir)/Makefile.in
    56 	$(SHELL) config.status $@
    57 
    58 $(objects):
    59 	$(SHELL) $(auxdir)/mkinstalldirs $@
    60 
    61 .PHONY: all 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
    62 depend:
    63 	@SOURCES="$(SOURCES)" INCLUDE="$(INCLUDE)" objects="$(objects)" output="$(depend)" \
    64 	$(SHELL) $(auxdir)/makedep.sh
    65 	@for src in $(SDLMAIN_SOURCES); do \
    66 	    obj=`echo $$src | sed -e 's|.*/||' -e 's|\.[^\.]*$$|.o|'`; \
    67 	    echo "$(objects)/$$obj: $$src" >>$(depend); \
    68 	    echo "	\$$(CC) \$$(CFLAGS) \$$(EXTRA_CFLAGS) -c $$src -o \$$@" >>$(depend); \
    69 	done
    70 
    71 include $(depend)
    72 
    73 $(objects)/$(TARGET): $(OBJECTS)
    74 	$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
    75 
    76 $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
    77 	$(AR) cru $@ $(SDLMAIN_OBJECTS)
    78 	$(RANLIB) $@
    79 
    80 install: install-bin install-hdrs install-lib install-data install-man
    81 install-bin:
    82 	$(SHELL) $(auxdir)/mkinstalldirs $(bindir)
    83 	$(INSTALL) -m 755 sdl-config $(bindir)/sdl-config
    84 install-hdrs:
    85 	$(SHELL) $(auxdir)/mkinstalldirs $(includedir)/SDL
    86 	for src in $(srcdir)/include/*.h; do \
    87 	    file=`echo $$src | sed -e 's|^.*/||'`; \
    88 	    $(INSTALL) -m 644 $$src $(includedir)/SDL/$$file; \
    89 	done
    90 	$(INSTALL) -m 644 include/SDL_config.h $(includedir)/SDL/SDL_config.h
    91 install-lib:
    92 	$(SHELL) $(auxdir)/mkinstalldirs $(libdir)
    93 	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(libdir)/$(TARGET)
    94 	$(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(libdir)/$(SDLMAIN_TARGET)
    95 	$(RANLIB) $(libdir)/$(SDLMAIN_TARGET)
    96 install-data:
    97 	$(SHELL) $(auxdir)/mkinstalldirs $(datadir)/aclocal
    98 	$(INSTALL) -m 644 $(srcdir)/sdl.m4 $(datadir)/aclocal/sdl.m4
    99 install-man:
   100 	$(SHELL) $(auxdir)/mkinstalldirs $(mandir)/man3
   101 	for src in $(srcdir)/docs/man3/*.3; do \
   102 	    file=`echo $$src | sed -e 's|^.*/||'`; \
   103 	    $(INSTALL) -m 644 $$src $(mandir)/man3/$$file; \
   104 	done
   105 
   106 uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man
   107 uninstall-bin:
   108 	rm -f $(bindir)/sdl-config
   109 uninstall-hdrs:
   110 	for src in $(srcdir)/include/*.h; do \
   111 	    file=`echo $$src | sed -e 's|^.*/||'`; \
   112 	    rm -f $(includedir)/SDL/$$file; \
   113 	done
   114 	rm -f $(includedir)/SDL/SDL_config.h
   115 	-rmdir $(includedir)/SDL
   116 uninstall-lib:
   117 	$(LIBTOOL) --mode=uninstall rm -f $(libdir)/$(TARGET)
   118 	rm -f $(libdir)/$(SDLMAIN_TARGET)
   119 uninstall-data:
   120 	rm -f $(datadir)/aclocal/sdl.m4
   121 uninstall-man:
   122 	for src in $(srcdir)/docs/man3/*.3; do \
   123 	    file=`echo $$src | sed -e 's|^.*/||'`; \
   124 	    rm -f $(mandir)/man3/$$file; \
   125 	done
   126 
   127 clean:
   128 	rm -rf $(objects)
   129 	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
   130 
   131 distclean: clean
   132 	rm -f Makefile include/SDL_config.h sdl-config
   133 	rm -f include/SDL_config.h sdl-config
   134 	rm -f SDL.qpg
   135 	rm -f config.status config.cache config.log libtool $(depend)
   136 	rm -rf $(srcdir)/autom4te*
   137 	find $(srcdir) \( \
   138 	    -name '*~' -o \
   139 	    -name '*.bak' -o \
   140 	    -name '*.old' -o \
   141 	    -name '*.rej' -o \
   142 	    -name '*.orig' -o \
   143 	    -name '.#*' \) \
   144 	    -exec rm -f {} \;
   145 	cp $(srcdir)/include/SDL_config.h.default $(srcdir)/include/SDL_config.h
   146 	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
   147 
   148 dist $(distfile):
   149 	$(SHELL) $(auxdir)/mkinstalldirs $(distdir)
   150 	tar cf - $(DIST) | (cd $(distdir); tar xf -)
   151 	cp $(distdir)/include/SDL_config.h.default $(distdir)/include/SDL_config.h
   152 	rm -rf `find $(distdir) -name CVS`
   153 	rm -f `find $(distdir) -name '.cvsignore'`
   154 	rm -f `find $(distdir) -name '.#*'`
   155 	rmdir `find $(distdir) -type d -empty`
   156 	tar cvf - $(distdir) | gzip --best >$(distfile)
   157 	rm -rf $(distdir)
   158 
   159 rpm: $(distfile)
   160 	rpmbuild -ta $?
   161 
   162 # Create a CVS snapshot that people can run update -d on
   163 CVSROOT = :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs
   164 snapshot:
   165 	cvs -d $(CVSROOT) login
   166 	cvs -d $(CVSROOT) checkout -P SDL12
   167 	(cd SDL12 && ./autogen.sh && rm -rf autom4te.cache)
   168 	cp SDL12/include/SDL_config.h.default SDL12/include/SDL_config.h
   169 	mv SDL12 SDL-1.2
   170 	tar zcf $(HOME)/SDL-1.2.tar.gz SDL-1.2
   171 	rm -f $(HOME)/SDL-1.2.zip
   172 	zip -r $(HOME)/SDL-1.2.zip SDL-1.2
   173 	rm -rf SDL-1.2