+# libFLAC - Free Lossless Audio Codec library
+# Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008,2009 Josh Coalson
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# - Neither the name of the Xiph.org Foundation nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
#
# GNU makefile
#
-LIB_NAME = libFLAC
-DEFINES = -DFLAC__CPU_IA32 -DFLAC__HAS_NASM -DFLAC__PRECOMPUTE_PARTITION_SUMS -DFLAC__ALIGN_MALLOC_DATA
-INCLUDES = -I./include -I../../include
+topdir = ../..
+
+ifeq ($(OS),Darwin)
+ EXPLICIT_LIBS = $(OGG_EXPLICIT_LIBS) -lm
+else
+ LIBS = $(OGG_LIBS) -lm
+endif
+
+LIB_NAME = libFLAC
+ifeq ($(PROC),ppc)
+ DEFINES = -DFLAC__CPU_PPC -DFLAC__USE_ALTIVEC -DFLAC__ALIGN_MALLOC_DATA
+else
+ifeq ($(OS),Solaris)
+ DEFINES = -DFLAC__NO_ASM -DFLAC__ALIGN_MALLOC_DATA
+else
+ifeq ($(PROC),i386)
+ DEFINES = -DFLAC__CPU_IA32 -DFLAC__USE_3DNOW -DFLAC__HAS_NASM -DFLAC__ALIGN_MALLOC_DATA
+else
+ DEFINES = -DFLAC__ALIGN_MALLOC_DATA
+endif
+endif
+endif
+INCLUDES = -I./include -I$(topdir)/include $(OGG_INCLUDES)
DEBUG_CFLAGS = -DFLAC__OVERFLOW_DETECT
-OBJS = \
- bitbuffer.o \
- bitmath.o \
- cpu.o \
- crc.o \
- encoder.o \
- encoder_framing.o \
- file_decoder.o \
- fixed.o \
- format.o \
- lpc.o \
- md5.o \
- memory.o \
- seek_table.o \
- stream_decoder.o \
- i386/cpu_asm.o \
- i386/fixed_asm.o \
- i386/lpc_asm.o
-
-include ../../build/lib.mk
+ifeq ($(OS),Darwin)
+SRCS_S = \
+ ppc/as/lpc_asm.s
+else
+ifeq ($(PROC),i386)
+SRCS_NASM = \
+ ia32/bitreader_asm.nasm \
+ ia32/cpu_asm.nasm \
+ ia32/fixed_asm.nasm \
+ ia32/lpc_asm.nasm \
+ ia32/stream_encoder_asm.nasm
+endif
+endif
+
+OGG_SRCS_C = \
+ ogg_decoder_aspect.c \
+ ogg_encoder_aspect.c \
+ ogg_helper.c \
+ ogg_mapping.c
+
+SRCS_C = \
+ bitmath.c \
+ bitreader.c \
+ bitwriter.c \
+ cpu.c \
+ crc.c \
+ fixed.c \
+ float.c \
+ format.c \
+ lpc.c \
+ md5.c \
+ memory.c \
+ metadata_iterators.c \
+ metadata_object.c \
+ stream_decoder.c \
+ stream_encoder.c \
+ stream_encoder_framing.c \
+ window.c \
+ $(OGG_SRCS)
+
+include $(topdir)/build/lib.mk
# DO NOT DELETE THIS LINE -- make depend depends on it.