mingw fixes, enable build dll w/ mingw (SF#2000973: https://sourceforge.net/tracker2...
[platform/upstream/flac.git] / src / libFLAC / Makefile.am
1 #  libFLAC - Free Lossless Audio Codec library
2 #  Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008  Josh Coalson
3 #
4 #  Redistribution and use in source and binary forms, with or without
5 #  modification, are permitted provided that the following conditions
6 #  are met:
7 #
8 #  - Redistributions of source code must retain the above copyright
9 #  notice, this list of conditions and the following disclaimer.
10 #
11 #  - Redistributions in binary form must reproduce the above copyright
12 #  notice, this list of conditions and the following disclaimer in the
13 #  documentation and/or other materials provided with the distribution.
14 #
15 #  - Neither the name of the Xiph.org Foundation nor the names of its
16 #  contributors may be used to endorse or promote products derived from
17 #  this software without specific prior written permission.
18 #
19 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 #  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 #  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 #  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
23 #  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 #  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 #  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26 #  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27 #  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28 #  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 #  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 lib_LTLIBRARIES = libFLAC.la
32 if DEBUG
33 DEBUGCFLAGS = -DFLAC__OVERFLOW_DETECT
34 endif
35 if FLaC__CPU_PPC
36 # The -force_cpusubtype_ALL is needed to insert a ppc64 instruction
37 # into cpu.c with an asm().
38 if FLaC__SYS_DARWIN
39 #@@@ PPC optimizations temporarily disabled
40 CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM
41 else
42 # Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific
43 #@@@ PPC optimizations temporarily disabled
44 CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM
45 endif
46 endif
47
48 AM_CFLAGS = $(DEBUGCFLAGS) $(CPUCFLAGS) @OGG_CFLAGS@
49
50 if FLaC__NO_ASM
51 else
52 if FLaC__CPU_IA32
53 if FLaC__HAS_NASM
54 ARCH_SUBDIRS = ia32
55 LOCAL_EXTRA_LIBADD = ia32/libFLAC-asm.la
56 endif
57 endif
58 if FLaC__CPU_PPC
59 ARCH_SUBDIRS = ppc
60 if FLaC__HAS_AS__TEMPORARILY_DISABLED
61 LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la
62 LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning"
63 else
64 if FLaC__HAS_GAS__TEMPORARILY_DISABLED
65 LOCAL_EXTRA_LIBADD = ppc/gas/libFLAC-asm.la
66 LOCAL_EXTRA_LDFLAGS = ""
67 endif
68 endif
69 endif
70 endif
71
72 libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@ @MINGW_WINSOCK_LIBS@
73
74 SUBDIRS = $(ARCH_SUBDIRS) include .
75
76 m4datadir = $(datadir)/aclocal
77 m4data_DATA = libFLAC.m4
78
79 pkgconfigdir = $(libdir)/pkgconfig
80 pkgconfig_DATA = flac.pc
81
82 EXTRA_DIST = \
83         Makefile.lite \
84         flac.pc.in \
85         libFLAC_dynamic.dsp \
86         libFLAC_dynamic.vcproj \
87         libFLAC_static.dsp \
88         libFLAC_static.vcproj \
89         libFLAC.m4
90
91 if FLaC__HAS_OGG
92 extra_ogg_sources = \
93         ogg_decoder_aspect.c \
94         ogg_encoder_aspect.c \
95         ogg_helper.c \
96         ogg_mapping.c
97 endif
98 # see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
99 libFLAC_la_LDFLAGS = -version-info 10:0:2 -lm $(LOCAL_EXTRA_LDFLAGS) @LT_NO_UNDEFINED@
100 libFLAC_la_SOURCES = \
101         bitmath.c \
102         bitreader.c \
103         bitwriter.c \
104         cpu.c \
105         crc.c \
106         fixed.c \
107         float.c \
108         format.c \
109         lpc.c \
110         md5.c \
111         memory.c \
112         metadata_iterators.c \
113         metadata_object.c \
114         stream_decoder.c \
115         stream_encoder.c \
116         stream_encoder_framing.c \
117         window.c \
118         $(extra_ogg_sources)