1 # Makefile to build and install the SDL library
8 exec_prefix = @exec_prefix@
11 includedir = @includedir@
12 datarootdir = @datarootdir@
15 distpath = $(srcdir)/..
16 distdir = SDL2-@SDL_VERSION@
17 distfile = $(distdir).tar.gz
23 CFLAGS = @BUILD_CFLAGS@
24 EXTRA_CFLAGS = @EXTRA_CFLAGS@
25 LDFLAGS = @BUILD_LDFLAGS@
26 EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
35 GEN_HEADERS = @GEN_HEADERS@
36 GEN_OBJECTS = @GEN_OBJECTS@
37 VERSION_OBJECTS = @VERSION_OBJECTS@
39 SDLMAIN_TARGET = libSDL2main.la
40 SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
42 SDLTEST_TARGET = libSDL2_test.la
43 SDLTEST_OBJECTS = @SDLTEST_OBJECTS@
45 WAYLAND_SCANNER = @WAYLAND_SCANNER@
47 INSTALL_SDL2_CONFIG = @INSTALL_SDL2_CONFIG@
49 SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac 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 wayland-protocols
53 RUN_CMD_AR = @echo " AR " $@;
54 RUN_CMD_CC = @echo " CC " $@;
55 RUN_CMD_CXX = @echo " CXX " $@;
56 RUN_CMD_LTLINK = @echo " LTLINK" $@;
57 RUN_CMD_RANLIB = @echo " RANLIB" $@;
58 RUN_CMD_GEN = @echo " GEN " $@;
76 SDL_gamecontroller.h \
93 SDL_opengles2_gl2ext.h \
95 SDL_opengles2_gl2platform.h \
97 SDL_opengles2_khrplatform.h \
122 SDLTEST_HDRS = $(shell ls $(srcdir)/include | fgrep SDL_test)
125 LT_CURRENT = @LT_CURRENT@
126 LT_RELEASE = @LT_RELEASE@
127 LT_REVISION = @LT_REVISION@
128 LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
130 all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
132 $(srcdir)/configure: $(srcdir)/configure.ac
133 @echo "Warning, configure is out of date, please re-run autogen.sh"
135 Makefile: $(srcdir)/Makefile.in
136 $(SHELL) config.status $@
141 $(SHELL) $(auxdir)/mkinstalldirs $(objects)
145 $(SHELL) $(auxdir)/updaterev.sh
147 .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)
149 $(objects)/$(TARGET): $(GEN_HEADERS) $(GEN_OBJECTS) $(OBJECTS) $(VERSION_OBJECTS)
150 $(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $(OBJECTS) $(GEN_OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
152 $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
153 $(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -static -o $@ $(SDLMAIN_OBJECTS) -rpath $(libdir)
155 $(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS)
156 $(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -static -o $@ $(SDLTEST_OBJECTS) -rpath $(libdir)
158 install: all install-bin install-hdrs install-lib install-data
160 ifeq ($(INSTALL_SDL2_CONFIG),TRUE)
161 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
162 $(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config
165 install-hdrs: update-revision
166 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2
167 for file in $(HDRS) $(SDLTEST_HDRS); do \
168 $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL2/$$file; \
170 $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL2/SDL_config.h
171 if test -f include/SDL_revision.h; then \
172 $(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \
174 $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \
177 install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
178 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)
179 $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
180 $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
181 $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLTEST_TARGET) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
183 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal
184 $(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4
185 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
186 $(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig
187 ifeq ($(INSTALL_SDL2_CONFIG),TRUE)
188 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL2
189 $(INSTALL) -m 644 sdl2-config.cmake $(DESTDIR)$(libdir)/cmake/SDL2
192 uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data
194 rm -f $(DESTDIR)$(bindir)/sdl2-config
196 for file in $(HDRS) $(SDLTEST_HDRS); do \
197 rm -f $(DESTDIR)$(includedir)/SDL2/$$file; \
199 rm -f $(DESTDIR)$(includedir)/SDL2/SDL_config.h
200 rm -f $(DESTDIR)$(includedir)/SDL2/SDL_revision.h
201 -rmdir $(DESTDIR)$(includedir)/SDL2
203 $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET)
204 rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
205 rm -f $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
207 rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4
208 rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc
209 rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config.cmake
214 if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
217 rm -f Makefile Makefile.rules sdl2-config
218 rm -f config.status config.cache config.log libtool
219 rm -rf $(srcdir)/autom4te*
228 if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
231 $(SHELL) $(auxdir)/mkinstalldirs $(distdir)
232 (cd $(srcdir); tar cf - $(SRC_DIST)) | (cd $(distdir); tar xf -)
233 tar cf - $(GEN_DIST) | (cd $(distdir); tar xf -)
242 if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi
243 (cd $(distdir); build-scripts/updaterev.sh)
244 tar cvf - $(distdir) | gzip --best >$(distfile)