1# Makefile to build and install the SDL_mixer library
2
3top_builddir = .
4srcdir  = @srcdir@
5objects = build
6prefix = @prefix@
7exec_prefix = @exec_prefix@
8bindir	= $(DESTDIR)@bindir@
9libdir  = $(DESTDIR)@libdir@
10includedir = $(DESTDIR)@includedir@
11datarootdir = $(DESTDIR)@datarootdir@
12datadir	= @datadir@
13mandir	= @mandir@
14auxdir	= @ac_aux_dir@
15distpath = $(srcdir)/..
16distdir = SDL2_mixer-@VERSION@
17distfile = $(distdir).tar.gz
18
19@SET_MAKE@
20EXE	= @EXE@
21SHELL	= @SHELL@
22CC      = @CC@
23CFLAGS  = @BUILD_CFLAGS@
24EXTRA_CFLAGS = @EXTRA_CFLAGS@
25LDFLAGS = @BUILD_LDFLAGS@
26EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
27LIBTOOL = @LIBTOOL@
28INSTALL = @INSTALL@
29AR	= @AR@
30RANLIB	= @RANLIB@
31WINDRES	= @WINDRES@
32SDL_CFLAGS = @SDL_CFLAGS@
33SDL_LIBS = @SDL_LIBS@
34
35TARGET  = libSDL2_mixer.la
36OBJECTS = @OBJECTS@
37VERSION_OBJECTS = @VERSION_OBJECTS@
38PLAYWAVE_OBJECTS = @PLAYWAVE_OBJECTS@
39PLAYMUS_OBJECTS = @PLAYMUS_OBJECTS@
40
41DIST = *.txt Android.mk Makefile.in SDL2_mixer.pc.in SDL2_mixer.spec.in SDL_mixer.h VisualC VisualC-WinRT Xcode Xcode-iOS acinclude aclocal.m4 autogen.sh build-scripts configure configure.in debian effect_position.c effect_stereoreverse.c effects_internal.c effects_internal.h external gcc-fat.sh load_aiff.c load_aiff.h load_voc.c load_voc.h mixer.c mixer.h music.c music.h music_cmd.c music_cmd.h music_flac.c music_flac.h music_fluidsynth.c music_fluidsynth.h music_mad.c music_mad.h music_mikmod.c music_mikmod.h music_modplug.c music_modplug.h music_mpg123.c music_mpg123.h music_nativemidi.c music_nativemidi.h music_ogg.c music_ogg.h music_opus.c music_opus.h music_timidity.c music_timidity.h music_wav.c music_wav.h native_midi playmus.c playwave.c timidity version.rc
42
43LT_AGE      = @LT_AGE@
44LT_CURRENT  = @LT_CURRENT@
45LT_RELEASE  = @LT_RELEASE@
46LT_REVISION = @LT_REVISION@
47LT_LDFLAGS  = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
48
49all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/playwave$(EXE) $(objects)/playmus$(EXE)
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	@sleep 3
55
56Makefile: $(srcdir)/Makefile.in
57	$(SHELL) config.status $@
58
59$(objects):
60	$(SHELL) $(auxdir)/mkinstalldirs $@
61
62.PHONY: all install install-hdrs install-lib install-bin uninstall uninstall-hdrs uninstall-lib uninstall-bin clean distclean dist
63
64$(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS)
65	$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
66
67$(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET)
68	$(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS)
69
70$(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET)
71	$(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS)
72
73install: all install-hdrs install-lib #install-bin
74install-hdrs:
75	$(SHELL) $(auxdir)/mkinstalldirs $(includedir)/SDL2
76	for src in $(srcdir)/SDL_mixer.h; do \
77	    file=`echo $$src | sed -e 's|^.*/||'`; \
78	    $(INSTALL) -m 644 $$src $(includedir)/SDL2/$$file; \
79	done
80	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(prefix)/libdata/pkgconfig
81	$(INSTALL) -m 644 SDL2_mixer.pc $(DESTDIR)$(prefix)/libdata/pkgconfig/
82install-lib: $(objects) $(objects)/$(TARGET)
83	$(SHELL) $(auxdir)/mkinstalldirs $(libdir)
84	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(libdir)/$(TARGET)
85install-bin:
86	$(SHELL) $(auxdir)/mkinstalldirs $(bindir)
87	$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(objects)/playwave$(EXE) $(bindir)/playwave$(EXE)
88	$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(objects)/playmus$(EXE) $(bindir)/playmus$(EXE)
89
90uninstall: uninstall-hdrs uninstall-lib uninstall-bin
91uninstall-hdrs:
92	for src in $(srcdir)/SDL_mixer.h; do \
93	    file=`echo $$src | sed -e 's|^.*/||'`; \
94	    rm -f $(includedir)/SDL2/$$file; \
95	done
96	-rmdir $(includedir)/SDL2
97	rm -f $(DESTDIR)$(prefix)/libdata/pkgconfig/SDL2_mixer.pc
98	-rmdir $(DESTDIR)$(prefix)/libdata/pkgconfig
99uninstall-lib:
100	$(LIBTOOL) --mode=uninstall rm -f $(libdir)/$(TARGET)
101uninstall-bin:
102	rm -f $(bindir)/playwave$(EXE)
103	rm -f $(bindir)/playmus$(EXE)
104
105clean:
106	rm -rf $(objects)
107
108distclean: clean
109	rm -f Makefile
110	rm -f config.status config.cache config.log libtool
111	rm -f SDL2_mixer.pc
112	rm -rf $(srcdir)/autom4te*
113	find $(srcdir) \( \
114	    -name '*~' -o \
115	    -name '*.bak' -o \
116	    -name '*.old' -o \
117	    -name '*.rej' -o \
118	    -name '*.orig' -o \
119	    -name '.#*' \) \
120	    -exec rm -f {} \;
121
122dist $(distfile):
123	$(SHELL) $(auxdir)/mkinstalldirs $(distdir)
124	(cd $(srcdir); tar cf - $(DIST)) | (cd $(distdir); tar xf -)
125	rm -rf `find $(distdir) -name .svn`
126	rm -f `find $(distdir) -name '.#*'`
127	tar cvf - $(distdir) | gzip --best >$(distfile)
128	rm -rf $(distdir)
129
130rpm: $(distfile)
131	rpmbuild -ta $?
132