1# Makefile to build and install the SDL library
2
3top_builddir = .
4srcdir  = @srcdir@
5objects = build
6depend	= build-deps
7prefix = @prefix@
8exec_prefix = @exec_prefix@
9bindir	= @bindir@
10libdir  = @libdir@
11includedir = @includedir@
12datarootdir = @datarootdir@
13datadir	= @datadir@
14mandir	= @mandir@
15auxdir	= @ac_aux_dir@
16distpath = $(srcdir)/..
17distdir = SDL-@SDL_VERSION@
18distfile = $(distdir).tar.gz
19
20@SET_MAKE@
21SHELL	= @SHELL@
22CC      = @CC@
23INCLUDE = @INCLUDE@
24CFLAGS  = @BUILD_CFLAGS@
25EXTRA_CFLAGS = @EXTRA_CFLAGS@
26LDFLAGS = @BUILD_LDFLAGS@
27EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
28LIBTOOL = @LIBTOOL@
29INSTALL = @INSTALL@
30NASM	= @NASM@ @NASMFLAGS@
31AR	= @AR@
32RANLIB	= @RANLIB@
33WINDRES	= @WINDRES@
34
35TARGET  = libSDL.la
36SOURCES = @SOURCES@
37OBJECTS = @OBJECTS@
38
39SDLMAIN_TARGET = libSDLmain.la
40SDLMAIN_SOURCES = @SDLMAIN_SOURCES@
41SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
42SDLMAIN_LDFLAGS = @SDLMAIN_LDFLAGS@
43
44DIST = acinclude autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 sdl.pc.in SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE VisualC.html VisualC Watcom-OS2.zip Watcom-Win32.zip symbian.zip WhatsNew Xcode
45
46HDRS = SDL.h SDL_active.h SDL_audio.h SDL_byteorder.h SDL_cdrom.h SDL_cpuinfo.h SDL_endian.h SDL_error.h SDL_events.h SDL_getenv.h SDL_joystick.h SDL_keyboard.h SDL_keysym.h SDL_loadso.h SDL_main.h SDL_mouse.h SDL_mutex.h SDL_name.h SDL_opengl.h SDL_platform.h SDL_quit.h SDL_rwops.h SDL_stdinc.h SDL_syswm.h SDL_thread.h SDL_timer.h SDL_types.h SDL_version.h SDL_video.h begin_code.h close_code.h
47
48LT_AGE      = @LT_AGE@
49LT_CURRENT  = @LT_CURRENT@
50LT_RELEASE  = @LT_RELEASE@
51LT_REVISION = @LT_REVISION@
52LT_LDFLAGS  = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
53
54all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
55
56$(srcdir)/configure: $(srcdir)/configure.in
57	@echo "Warning, configure.in is out of date"
58	#(cd $(srcdir) && sh autogen.sh && sh configure)
59	@sleep 3
60
61Makefile: $(srcdir)/Makefile.in
62	$(SHELL) config.status $@
63
64$(objects):
65	$(SHELL) $(auxdir)/mkinstalldirs $@
66
67.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
68depend:
69	@SOURCES="$(SOURCES) $(SDLMAIN_SOURCES)" INCLUDE="$(INCLUDE)" output="$(depend)" \
70	$(SHELL) $(auxdir)/makedep.sh
71
72include $(depend)
73
74$(objects)/$(TARGET): $(OBJECTS)
75	$(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
76
77$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
78	$(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
79
80
81install: all install-bin install-hdrs install-lib install-data install-man
82install-bin:
83	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
84	$(INSTALL) -m 755 sdl-config $(DESTDIR)$(bindir)/sdl-config
85install-hdrs:
86	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL
87	for file in $(HDRS); do \
88	    $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL/$$file; \
89	done
90	$(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL/SDL_config.h
91install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
92	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)
93	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
94	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
95install-data:
96	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal
97	$(INSTALL) -m 644 $(srcdir)/sdl.m4 $(DESTDIR)$(datadir)/aclocal/sdl.m4
98	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
99	$(INSTALL) -m 644 sdl.pc $(DESTDIR)$(libdir)/pkgconfig
100install-man:
101	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(mandir)/man3
102	for src in $(srcdir)/docs/man3/*.3; do \
103	    file=`echo $$src | sed -e 's|^.*/||'`; \
104	    $(INSTALL) -m 644 $$src $(DESTDIR)$(mandir)/man3/$$file; \
105	done
106
107uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man
108uninstall-bin:
109	rm -f $(DESTDIR)$(bindir)/sdl-config
110uninstall-hdrs:
111	for file in $(HDRS); do \
112	    rm -f $(DESTDIR)$(includedir)/SDL/$$file; \
113	done
114	rm -f $(DESTDIR)$(includedir)/SDL/SDL_config.h
115	-rmdir $(DESTDIR)$(includedir)/SDL
116uninstall-lib:
117	$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET)
118	$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
119uninstall-data:
120	rm -f $(DESTDIR)$(datadir)/aclocal/sdl.m4
121	rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl.pc
122uninstall-man:
123	for src in $(srcdir)/docs/man3/*.3; do \
124	    file=`echo $$src | sed -e 's|^.*/||'`; \
125	    rm -f $(DESTDIR)$(mandir)/man3/$$file; \
126	done
127
128clean:
129	rm -rf $(objects)
130	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
131
132distclean: clean
133	rm -f Makefile 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	rm -rf $(srcdir)/test/autom4te*
138	find $(srcdir) \( \
139	    -name '*~' -o \
140	    -name '*.bak' -o \
141	    -name '*.old' -o \
142	    -name '*.rej' -o \
143	    -name '*.orig' -o \
144	    -name '.#*' \) \
145	    -exec rm -f {} \;
146	cp $(srcdir)/include/SDL_config.h.default $(srcdir)/include/SDL_config.h
147	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
148
149dist $(distfile):
150	$(SHELL) $(auxdir)/mkinstalldirs $(distdir)
151	tar cf - $(DIST) | (cd $(distdir); tar xf -)
152	cp $(distdir)/include/SDL_config.h.default $(distdir)/include/SDL_config.h
153	rm -rf `find $(distdir) -name .svn`
154	rm -rf $(distdir)/test/autom4te*
155	find $(distdir) \( \
156	    -name '*~' -o \
157	    -name '*.bak' -o \
158	    -name '*.old' -o \
159	    -name '*.rej' -o \
160	    -name '*.orig' -o \
161	    -name '.#*' \) \
162	    -exec rm -f {} \;
163	if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi
164	tar cvf - $(distdir) | gzip --best >$(distfile)
165	rm -rf $(distdir)
166
167rpm: $(distfile)
168	rpmbuild -ta $?
169
170# Create a SVN snapshot that people can run update on
171snapshot:
172	svn co http://svn.libsdl.org/branches/SDL-1.2
173	(cd SDL-1.2 && ./autogen.sh && rm -rf autom4te.cache)
174	cp SDL-1.2/include/SDL_config.h.default SDL-1.2/include/SDL_config.h
175	tar zcf $(HOME)/SDL-1.2.tar.gz SDL-1.2
176	rm -f $(HOME)/SDL-1.2.zip
177	zip -r $(HOME)/SDL-1.2.zip SDL-1.2
178	rm -rf SDL-1.2
179