Edit

kc3-lang/SDL/Makefile.in

Branch :

  • Show log

    Commit

  • Author : Sam Lantinga
    Date : 2017-08-09 19:03:10
    Hash : 496337b3
    Message : Fixed bug 3651 - CMake build does not install CMake package configuration tschwinger@elitemail.org Most ironically, although autoconf/automake-based builds install (pretty half-assed) CMake package configuration files, they're missing in installations resulting from CMake-based builds entirely. A proper configuration file typically also loads target exports (implemented in patch 3572, also fixing this issue - see my comment on that issue for details). I believe it would be best to let the dinosaurs go extinct and redirect all build efforts to the CMake end for two reasons: 1. It potentially provides the best user experience, but you'd have to give it some love and ship with less quirky buildfiles. 2. It would force distros to build SDL via CMake and thus would ensure target exports are actually available everywhere. Various CMake patches I submitted today in summary (directly converted from the HG commits and `am`d onto a fork of a git mirror that happened to be on `tip`). https://github.com/tschw/SDL/commits/patched Fixing #2576 #3572, #3613, and this fresh ticket, which is almost entirely advertisement ;). These already do to make SDL much less of a quirky fella to have in your dependency tree...

  • Makefile.in
  • # Makefile to build and install the SDL library
    
    top_builddir = .
    srcdir  = @srcdir@
    objects = build
    gen = gen
    prefix = @prefix@
    exec_prefix = @exec_prefix@
    bindir	= @bindir@
    libdir  = @libdir@
    includedir = @includedir@
    datarootdir = @datarootdir@
    datadir	= @datadir@
    auxdir	= @ac_aux_dir@
    distpath = $(srcdir)/..
    distdir = SDL2-@SDL_VERSION@
    distfile = $(distdir).tar.gz
    
    @SET_MAKE@
    SHELL	= @SHELL@
    CC      = @CC@
    INCLUDE = @INCLUDE@
    CFLAGS  = @BUILD_CFLAGS@
    EXTRA_CFLAGS = @EXTRA_CFLAGS@
    LDFLAGS = @BUILD_LDFLAGS@
    EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
    LIBTOOL = @LIBTOOL@
    INSTALL = @INSTALL@
    AR	= @AR@
    RANLIB	= @RANLIB@
    WINDRES	= @WINDRES@
    
    TARGET  = libSDL2.la
    OBJECTS = @OBJECTS@
    GEN_HEADERS = @GEN_HEADERS@
    GEN_OBJECTS = @GEN_OBJECTS@
    VERSION_OBJECTS = @VERSION_OBJECTS@
    
    SDLMAIN_TARGET = libSDL2main.a
    SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
    
    SDLTEST_TARGET = libSDL2_test.a
    SDLTEST_OBJECTS = @SDLTEST_OBJECTS@
    
    WAYLAND_SCANNER = @WAYLAND_SCANNER@
    
    SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.in debian docs include Makefile.* sdl2-config.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake src test VisualC.html VisualC VisualC-WinRT Xcode Xcode-iOS
    GEN_DIST = SDL2.spec
    
    ifneq ($V,1)
    RUN_CMD_AR     = @echo "  AR    " $@;
    RUN_CMD_CC     = @echo "  CC    " $@;
    RUN_CMD_CXX    = @echo "  CXX   " $@;
    RUN_CMD_LTLINK = @echo "  LTLINK" $@;
    RUN_CMD_RANLIB = @echo "  RANLIB" $@;
    RUN_CMD_GEN    = @echo "  GEN   " $@;
    LIBTOOL += --quiet
    endif
    
    HDRS = \
    	SDL.h \
    	SDL_assert.h \
    	SDL_atomic.h \
    	SDL_audio.h \
    	SDL_bits.h \
    	SDL_blendmode.h \
    	SDL_clipboard.h \
    	SDL_cpuinfo.h \
    	SDL_egl.h \
    	SDL_endian.h \
    	SDL_error.h \
    	SDL_events.h \
    	SDL_filesystem.h \
    	SDL_gamecontroller.h \
    	SDL_gesture.h \
    	SDL_haptic.h \
    	SDL_hints.h \
    	SDL_joystick.h \
    	SDL_keyboard.h \
    	SDL_keycode.h \
    	SDL_loadso.h \
    	SDL_log.h \
    	SDL_main.h \
    	SDL_messagebox.h \
    	SDL_mouse.h \
    	SDL_mutex.h \
    	SDL_name.h \
    	SDL_opengl.h \
    	SDL_opengl_glext.h \
    	SDL_opengles.h \
    	SDL_opengles2_gl2ext.h \
    	SDL_opengles2_gl2.h \
    	SDL_opengles2_gl2platform.h \
    	SDL_opengles2.h \
    	SDL_opengles2_khrplatform.h \
    	SDL_pixels.h \
    	SDL_platform.h \
    	SDL_power.h \
    	SDL_quit.h \
    	SDL_rect.h \
    	SDL_render.h \
    	SDL_rwops.h \
    	SDL_scancode.h \
    	SDL_shape.h \
    	SDL_stdinc.h \
    	SDL_surface.h \
    	SDL_system.h \
    	SDL_syswm.h \
    	SDL_thread.h \
    	SDL_timer.h \
    	SDL_touch.h \
    	SDL_types.h \
    	SDL_version.h \
    	SDL_video.h \
    	begin_code.h \
    	close_code.h
    
    SDLTEST_HDRS = $(shell ls $(srcdir)/include | fgrep SDL_test)
    
    LT_AGE      = @LT_AGE@
    LT_CURRENT  = @LT_CURRENT@
    LT_RELEASE  = @LT_RELEASE@
    LT_REVISION = @LT_REVISION@
    LT_LDFLAGS  = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
    
    all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
    
    $(srcdir)/configure: $(srcdir)/configure.in
    	@echo "Warning, configure is out of date, please re-run autogen.sh"
    
    Makefile: $(srcdir)/Makefile.in
    	$(SHELL) config.status $@
    
    Makefile.in:;
    
    $(objects):
    	$(SHELL) $(auxdir)/mkinstalldirs $@
    
    update-revision:
    	$(SHELL) $(auxdir)/updaterev.sh
    
    .PHONY: all update-revision install install-bin install-hdrs install-lib install-data uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data clean distclean dist $(OBJECTS:.lo=.d)
    
    $(objects)/$(TARGET): $(GEN_HEADERS) $(GEN_OBJECTS) $(OBJECTS) $(VERSION_OBJECTS)
    	$(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $(OBJECTS) $(GEN_OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
    
    $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
    	$(RUN_CMD_AR)$(AR) cru $@ $(SDLMAIN_OBJECTS)
    	$(RUN_CMD_RANLIB)$(RANLIB) $@
    
    $(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS)
    	$(RUN_CMD_AR)$(AR) cru $@ $(SDLTEST_OBJECTS)
    	$(RUN_CMD_RANLIB)$(RANLIB) $@
    
    install: all install-bin install-hdrs install-lib install-data
    install-bin:
    	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
    	$(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config
    install-hdrs: update-revision
    	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2
    	for file in $(HDRS) $(SDLTEST_HDRS); do \
    	    $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL2/$$file; \
    	done
    	$(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL2/SDL_config.h
    	if test -f include/SDL_revision.h; then \
    	    $(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \
    	else \
    	    $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \
    	fi
    
    install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
    	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)
    	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
    	$(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
    	$(RANLIB) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
    	$(INSTALL) -m 644 $(objects)/$(SDLTEST_TARGET) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
    	$(RANLIB) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
    install-data:
    	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal
    	$(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4
    	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
    	$(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig
    	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL2
    	$(INSTALL) -m 644 sdl2-config.cmake $(DESTDIR)$(libdir)/cmake/SDL2
    
    uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data
    uninstall-bin:
    	rm -f $(DESTDIR)$(bindir)/sdl2-config
    uninstall-hdrs:
    	for file in $(HDRS) $(SDLTEST_HDRS); do \
    	    rm -f $(DESTDIR)$(includedir)/SDL2/$$file; \
    	done
    	rm -f $(DESTDIR)$(includedir)/SDL2/SDL_config.h
    	rm -f $(DESTDIR)$(includedir)/SDL2/SDL_revision.h
    	-rmdir $(DESTDIR)$(includedir)/SDL2
    uninstall-lib:
    	$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET)
    	rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
    	rm -f $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
    uninstall-data:
    	rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4
    	rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc
    	rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config.cmake
    
    clean:
    	rm -rf $(objects)
    	rm -rf $(gen)
    	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
    
    distclean: clean
    	rm -f Makefile Makefile.rules sdl2-config
    	rm -f config.status config.cache config.log libtool
    	rm -rf $(srcdir)/autom4te*
    	find $(srcdir) \( \
    	    -name '*~' -o \
    	    -name '*.bak' -o \
    	    -name '*.old' -o \
    	    -name '*.rej' -o \
    	    -name '*.orig' -o \
    	    -name '.#*' \) \
    	    -exec rm -f {} \;
    	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
    
    dist $(distfile):
    	$(SHELL) $(auxdir)/mkinstalldirs $(distdir)
    	(cd $(srcdir); tar cf - $(SRC_DIST)) | (cd $(distdir); tar xf -)
    	tar cf - $(GEN_DIST) | (cd $(distdir); tar xf -)
    	find $(distdir) \( \
    	    -name '*~' -o \
    	    -name '*.bak' -o \
    	    -name '*.old' -o \
    	    -name '*.rej' -o \
    	    -name '*.orig' -o \
    	    -name '.#*' \) \
    	    -exec rm -f {} \;
    	if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi
    	(cd $(distdir); build-scripts/updaterev.sh)
    	tar cvf - $(distdir) | gzip --best >$(distfile)
    	rm -rf $(distdir)
    
    rpm: $(distfile)
    	rpmbuild -ta $?