xref: /aosp_15_r20/external/tinyalsa_new/src/Makefile (revision 02e95f1a335b55495d41ca67eaf42361f13704fa)
1*02e95f1aSMarcin RadomskiDESTDIR ?=
2*02e95f1aSMarcin RadomskiPREFIX ?= /usr/local
3*02e95f1aSMarcin RadomskiLIBDIR ?= $(PREFIX)/lib
4*02e95f1aSMarcin RadomskiBINDIR ?= $(PREFIX)/bin
5*02e95f1aSMarcin Radomskiifdef DEB_HOST_MULTIARCH
6*02e95f1aSMarcin RadomskiLIBDIR := $(LIBDIR)/$(DEB_HOST_MULTIARCH)
7*02e95f1aSMarcin Radomskiendif
8*02e95f1aSMarcin Radomski
9*02e95f1aSMarcin RadomskiCC = $(CROSS_COMPILE)gcc
10*02e95f1aSMarcin RadomskiAR = $(CROSS_COMPILE)ar
11*02e95f1aSMarcin RadomskiLD = $(CROSS_COMPILE)gcc
12*02e95f1aSMarcin Radomski
13*02e95f1aSMarcin RadomskiWARNINGS = -Wall -Wextra -Werror -Wfatal-errors
14*02e95f1aSMarcin RadomskiINCLUDE_DIRS = -I ../include
15*02e95f1aSMarcin Radomskioverride CFLAGS := $(WARNINGS) $(INCLUDE_DIRS) -fPIC $(CFLAGS)
16*02e95f1aSMarcin Radomski
17*02e95f1aSMarcin RadomskiVPATH = ../include/tinyalsa
18*02e95f1aSMarcin RadomskiOBJECTS = limits.o mixer.o pcm.o pcm_plugin.o pcm_hw.o snd_card_plugin.o mixer_plugin.o mixer_hw.o
19*02e95f1aSMarcin Radomski
20*02e95f1aSMarcin RadomskiLIBVERSION_MAJOR = $(TINYALSA_VERSION_MAJOR)
21*02e95f1aSMarcin RadomskiLIBVERSION = $(TINYALSA_VERSION)
22*02e95f1aSMarcin Radomski
23*02e95f1aSMarcin Radomski.PHONY: all
24*02e95f1aSMarcin Radomskiall: libtinyalsa.a libtinyalsa.so
25*02e95f1aSMarcin Radomski
26*02e95f1aSMarcin Radomskipcm.o: pcm.c limits.h pcm.h pcm_io.h plugin.h snd_card_plugin.h
27*02e95f1aSMarcin Radomski
28*02e95f1aSMarcin Radomskipcm_plugin.o: pcm_plugin.c asoundlib.h pcm_io.h plugin.h snd_card_plugin.h
29*02e95f1aSMarcin Radomski
30*02e95f1aSMarcin Radomskipcm_hw.o: pcm_hw.c asoundlib.h pcm_io.h
31*02e95f1aSMarcin Radomski
32*02e95f1aSMarcin Radomskilimits.o: limits.c limits.h
33*02e95f1aSMarcin Radomski
34*02e95f1aSMarcin Radomskimixer.o: mixer.c mixer.h mixer_io.h plugin.h
35*02e95f1aSMarcin Radomski
36*02e95f1aSMarcin Radomskisnd_card_plugin.o: snd_card_plugin.c plugin.h snd_card_plugin.h
37*02e95f1aSMarcin Radomski
38*02e95f1aSMarcin Radomskimixer_plugin.o: mixer_plugin.c mixer_io.h plugin.h snd_card_plugin.h
39*02e95f1aSMarcin Radomski
40*02e95f1aSMarcin Radomskimixer_hw.o: mixer_hw.c mixer_io.h
41*02e95f1aSMarcin Radomski
42*02e95f1aSMarcin Radomskilibtinyalsa.a: $(OBJECTS)
43*02e95f1aSMarcin Radomski	$(AR) $(ARFLAGS) $@ $^
44*02e95f1aSMarcin Radomski
45*02e95f1aSMarcin Radomskilibtinyalsa.so: libtinyalsa.so.$(LIBVERSION_MAJOR)
46*02e95f1aSMarcin Radomski	ln -sf $< $@
47*02e95f1aSMarcin Radomski
48*02e95f1aSMarcin Radomskilibtinyalsa.so.$(LIBVERSION_MAJOR): libtinyalsa.so.$(LIBVERSION)
49*02e95f1aSMarcin Radomski	ln -sf $< $@
50*02e95f1aSMarcin Radomski
51*02e95f1aSMarcin Radomskilibtinyalsa.so.$(LIBVERSION): $(OBJECTS)
52*02e95f1aSMarcin Radomski	$(LD) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.$(LIBVERSION_MAJOR) $^ -o $@
53*02e95f1aSMarcin Radomski
54*02e95f1aSMarcin Radomski.PHONY: clean
55*02e95f1aSMarcin Radomskiclean:
56*02e95f1aSMarcin Radomski	rm -f libtinyalsa.a
57*02e95f1aSMarcin Radomski	rm -f libtinyalsa.so
58*02e95f1aSMarcin Radomski	rm -f libtinyalsa.so.$(LIBVERSION_MAJOR)
59*02e95f1aSMarcin Radomski	rm -f libtinyalsa.so.$(LIBVERSION)
60*02e95f1aSMarcin Radomski	rm -f $(OBJECTS)
61*02e95f1aSMarcin Radomski
62*02e95f1aSMarcin Radomski.PHONY: install
63*02e95f1aSMarcin Radomskiinstall: libtinyalsa.a libtinyalsa.so.$(LIBVERSION_MAJOR)
64*02e95f1aSMarcin Radomski	install -d $(DESTDIR)$(LIBDIR)/
65*02e95f1aSMarcin Radomski	install libtinyalsa.a $(DESTDIR)$(LIBDIR)/
66*02e95f1aSMarcin Radomski	install libtinyalsa.so.$(LIBVERSION) $(DESTDIR)$(LIBDIR)/
67*02e95f1aSMarcin Radomski	ln -sf libtinyalsa.so.$(LIBVERSION) $(DESTDIR)$(LIBDIR)/libtinyalsa.so.$(LIBVERSION_MAJOR)
68*02e95f1aSMarcin Radomski	ln -sf libtinyalsa.so.$(LIBVERSION_MAJOR) $(DESTDIR)$(LIBDIR)/libtinyalsa.so
69*02e95f1aSMarcin Radomski
70