1 # FLAC - Free Lossless Audio Codec
2 # Copyright (C) 2001-2009 Josh Coalson
3 # Copyright (C) 2011-2013 Xiph.Org Foundation
5 # This file is part the FLAC project. FLAC is comprised of several
6 # components distributed under difference licenses. The codec libraries
7 # are distributed under Xiph.Org's BSD-like license (see the file
8 # COPYING.Xiph in this distribution). All other programs, libraries, and
9 # plugins are distributed under the GPL (see COPYING.GPL). The documentation
10 # is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
11 # FLAC distribution contains at the top the terms under which it may be
14 # Since this particular file is relevant to all components of FLAC,
15 # it may be distributed under the Xiph.Org license, which is the least
16 # restrictive of those mentioned above. See the file COPYING.Xiph in this
20 # customizable settings from the make invocation
27 # debug/release selection
30 DEFAULT_BUILD = release
32 # returns Linux, Darwin, FreeBSD, etc.
36 OS := $(shell uname -s)
38 # returns i386, x86_64, powerpc, etc.
40 PROC := $(PROC_OVERRIDE)
42 ifeq ($(findstring MINGW,$(OS)),MINGW)
43 PROC := i386 # failsafe
44 # ifeq (mingw32,$(shell gcc -dumpmachine)) # MinGW (mainline): mingw32
45 ifeq ($(findstring i686,$(shell gcc -dumpmachine)),i686) # MinGW-w64: i686-w64-mingw32
47 else ifeq ($(findstring x86_64,$(shell gcc -dumpmachine)),x86_64) # MinGW-w64: x86_64-w64-mingw32
52 PROC := $(shell uname -p)
55 ifeq ($(PROC),powerpc)
60 PROC := $(shell uname -m)
65 valgrind : BUILD = debug
66 release : BUILD = release
68 # override LINKAGE on OS X until we figure out how to get 'cc -static' to work
70 LINKAGE = -arch $(PROC)
72 debug : LINKAGE = -static
73 valgrind : LINKAGE = -dynamic
74 release : LINKAGE = -static
77 all default: $(DEFAULT_BUILD)
80 # GNU makefile fragment for emulating stuff normally done by configure
85 CONFIG_CFLAGS=-DHAVE_STDINT_H -DHAVE_INTTYPES_H -DHAVE_CXX_VARARRAYS -DHAVE_LANGINFO_CODESET -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
88 CONFIG_CFLAGS += -DFLAC__SYS_DARWIN -arch $(PROC)
90 CONFIG_CFLAGS += -DHAVE_SOCKLEN_T
94 CONFIG_CFLAGS += -DWORDS_BIGENDIAN=1
96 CONFIG_CFLAGS += -DWORDS_BIGENDIAN=0
100 ifeq ($(PROC),x86_64)
101 CONFIG_CFLAGS += -fPIC
105 ifneq (0,$(USE_ICONV))
106 CONFIG_CFLAGS += -DHAVE_ICONV
113 CONFIG_CFLAGS += -DFLAC__HAS_OGG=1
114 OGG_INCLUDES = -I$(OGG_INCLUDE_DIR)
115 OGG_EXPLICIT_LIBS = $(OGG_LIB_DIR)/libogg.a
116 OGG_LIBS = -L$(OGG_LIB_DIR) -logg
117 OGG_SRCS = $(OGG_SRCS_C)
119 CONFIG_CFLAGS += -DFLAC__HAS_OGG=0
126 OGG_INCLUDE_DIR=$(HOME)/local/include
127 OGG_LIB_DIR=$(HOME)/local/lib