@@ -2,14 +2,49 @@ AUTOMAKE_OPTIONS = foreign
22
33ACLOCAL_AMFLAGS = -I m4
44
5+ CLEANFILES = $(NULL )
6+
7+ # Install the pkgconfig file for the library
8+ pkgconfigdir = $(libdir ) /pkgconfig
9+ pkgconfig_DATA = libcava.pc
10+
11+ # Generate the pkgconfig file
12+ libcava.pc : Makefile.am
13+ @echo " Generating $@ ..."
14+ @mkdir -p $(@D )
15+ @echo " prefix=$( prefix) " > $@
16+ @echo " exec_prefix=$( exec_prefix) " >> $@
17+ @echo " libdir=$( libdir) " >> $@
18+ @echo " includedir=$( includedir) " >> $@
19+ @echo " Name: $( PKG_CONFIG_NAME) " >> $@
20+ @echo " Description: $( PKG_CONFIG_DESC) " >> $@
21+ @echo " Version: $( PKG_CONFIG_VERSION) " >> $@
22+ @echo " Libs: -L\$ (libdir) -lcava" >> $@ # Link against libcava library
23+ @echo " Cflags: -I\$ (includedir)/cava -I\$ (includedir)/cava/input -I\$ (includedir)/cava/output" >> $@
24+
25+ # Clean up the generated pkgconfig file
26+ CLEANFILES += libcava.pc
27+
28+ # Define the library to be built
29+ # 'lib' directory implies shared library by default with Automake.
30+ # Use 'noinst_LTLIBRARIES' if you don't want to install it but build it for internal use.
31+ lib_LTLIBRARIES = libcava.la
32+
533bin_PROGRAMS = cava
634cavadir = $(top_srcdir )
7- cava_SOURCES = cava.c cavacore.c config.c input/common.c input/fifo.c input/shmem.c \
35+ cava_SOURCES = cava.c
36+ libcava_la_SOURCES = cavacore.c config.c input/common.c input/fifo.c input/shmem.c \
837 output/common.c output/terminal_noncurses.c output/raw.c output/noritake.c
9- cava_CPPFLAGS = -DPACKAGE=\"$(PACKAGE ) \" -DVERSION=\"$(VERSION ) \" \
10- -D_POSIX_SOURCE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE_EXTENDED \
11- -DFONTDIR=\"@FONT_DIR@\" -DFONTFILE=\"@FONT_FILE@\" \
12- -I$(top_builddir ) -I$(top_builddir ) /include
38+ cava_CPPFLAGS = \
39+ -DPACKAGE=\"$(PACKAGE ) \" \
40+ -DVERSION=\"$(VERSION ) \" \
41+ -D_POSIX_SOURCE \
42+ -D_POSIX_C_SOURCE=200809L \
43+ -D_XOPEN_SOURCE_EXTENDED \
44+ -DFONTDIR=\"@FONT_DIR@\" \
45+ -DFONTFILE=\"@FONT_FILE@\" \
46+ -I$(top_builddir ) \
47+ -I$(top_builddir ) /include
1348cava_CFLAGS = -std=c99 -Wall -Wextra -Wno-unused-result -Wno-unknown-warning-option -Wno-maybe-uninitialized -Wno-vla-parameter
1449
1550EXTRA_DIST = \
5186
5287if FREEBSD
5388if CAVAFONT
54- CLEANFILES = cava.bdf cava.fnt
89+ CLEANFILES + = cava.bdf cava.fnt
5590
5691cava.fnt : ${srcdir}/cava.psf
5792 ${PSF2BDF} --fontname=" -gnu-cava-medium-r-normal--16-160-75-75-c-80-iso10646-1" ${srcdir} /cava.psf cava.bdf
@@ -60,43 +95,45 @@ endif
6095endif
6196
6297if ALSA
63- cava_SOURCES += input/alsa.c input/alsa.h
98+ libcava_la_SOURCES += input/alsa.c input/alsa.h
6499endif
65100
66101if PORTAUDIO
67- cava_SOURCES += input/portaudio.c input/portaudio.h
102+ libcava_la_SOURCES += input/portaudio.c input/portaudio.h
68103endif
69104
70105if PIPEWIRE
71- cava_SOURCES += input/pipewire.c input/pipewire.h
106+ libcava_la_SOURCES += input/pipewire.c input/pipewire.h
72107endif
73108
74109if PULSE
75- cava_SOURCES += input/pulse.c input/pulse.h
110+ libcava_la_SOURCES += input/pulse.c input/pulse.h
76111endif
77112
78113if SNDIO
79- cava_SOURCES += input/sndio.c input/sndio.h
114+ libcava_la_SOURCES += input/sndio.c input/sndio.h
80115endif
81116
82117if OSS
83- cava_SOURCES += input/oss.c input/oss.h
118+ libcava_la_SOURCES += input/oss.c input/oss.h
84119endif
85120
86121if JACK
87- cava_SOURCES += input/jack.c input/jack.h
122+ libcava_la_SOURCES += input/jack.c input/jack.h
88123endif
89124
90125if NCURSES
91- cava_SOURCES += output/terminal_ncurses.c output/terminal_bcircle.c \
126+ libcava_la_SOURCES += output/terminal_ncurses.c output/terminal_bcircle.c \
92127 output/terminal_ncurses.h output/terminal_bcircle.h
93128
94129endif
95130
96131if SDL
97- cava_SOURCES += output/sdl_cava.c output/sdl_cava.h
132+ libcava_la_SOURCES += output/sdl_cava.c output/sdl_cava.h
98133endif
99134
100135if SDL_GLSL
101- cava_SOURCES += output/sdl_glsl.c output/sdl_glsl.h
136+ libcava_la_SOURCES += output/sdl_glsl.c output/sdl_glsl.h
102137endif
138+
139+ cava_SOURCES += $(libcava_la_SOURCES )
0 commit comments