USE_OGG ?= 1 USE_ICONV ?= 1 USE_LROUND ?= 1 USE_FSEEKO ?= 1 USE_LANGINFO_CODESET ?= 1
DEFAULT_BUILD = release
F_PIC := -fPIC
ifndef OS OS := $(shell uname -s) endif
ifndef PROC ifeq ($(findstring Windows,$(OS)),Windows) PROC := i386 # failsafe # ifeq ($(findstring i686,$(shell gcc -dumpmachine)),i686) # MinGW-w64: i686-w64-mingw32 ifeq ($(findstring x86_64,$(shell gcc -dumpmachine)),x86_64) # MinGW-w64: x86_64-w64-mingw32 PROC := x86_64 endif else ifeq ($(shell uname -p),amd64) PROC := x86_64 else PROC := $(shell uname -p) endif endif endif ifeq ($(PROC),powerpc) PROC := ppc endif
ifeq ($(PROC),i386) ifeq ($(OS),Darwin) PROC := $(shell uname -m) endif endif
ifeq ($(OS),Linux) PROC := $(shell uname -m) USE_ICONV := 0 endif
ifeq ($(findstring Windows,$(OS)),Windows) F_PIC := USE_ICONV := 0 USE_LANGINFO_CODESET := 0 ifeq (mingw32,$(shell gcc -dumpmachine)) # MinGW (mainline): mingw32 USE_FSEEKO := 0 endif endif
debug : BUILD = debug valgrind : BUILD = debug release : BUILD = release
ifeq ($(OS),Darwin) LINKAGE = -arch $(PROC) else debug : LINKAGE = -static valgrind : LINKAGE = -dynamic release : LINKAGE = -static endif
all default: $(DEFAULT_BUILD)
VERSION=\"1.3.2\"
CONFIG_CFLAGS=$(CUSTOM_CFLAGS) -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DHAVE_CXX_VARARRAYS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
ifeq ($(OS),Darwin) CONFIG_CFLAGS += -DFLAC__SYS_DARWIN -DHAVE_SYS_PARAM_H -arch $(PROC) else CONFIG_CFLAGS += -DHAVE_SOCKLEN_T endif
ifeq ($(PROC),ppc) CONFIG_CFLAGS += -DWORDS_BIGENDIAN=1 -DCPU_IS_LITTLE_ENDIAN=0 else CONFIG_CFLAGS += -DWORDS_BIGENDIAN=0 -DCPU_IS_LITTLE_ENDIAN=1 endif
ifeq ($(OS),Linux) ifeq ($(PROC),x86_64) CONFIG_CFLAGS += -fPIC endif endif ifeq ($(OS),FreeBSD) CONFIG_CFLAGS += -DHAVE_SYS_PARAM_H endif
ifneq (0,$(USE_ICONV)) CONFIG_CFLAGS += -DHAVE_ICONV ICONV_LIBS = -liconv else ICONV_LIBS = endif
ifneq (0,$(USE_OGG)) CONFIG_CFLAGS += -DFLAC__HAS_OGG=1 OGG_INCLUDES = -I$(OGG_INCLUDE_DIR) OGG_EXPLICIT_LIBS = $(OGG_LIB_DIR)/libogg.a OGG_LIBS = -L$(OGG_LIB_DIR) -logg OGG_SRCS = $(OGG_SRCS_C) else CONFIG_CFLAGS += -DFLAC__HAS_OGG=0 OGG_INCLUDES = OGG_EXPLICIT_LIBS = OGG_LIBS = OGG_SRCS = endif
OGG_INCLUDE_DIR=$(HOME)/local/include OGG_LIB_DIR=$(HOME)/local/lib
ifneq (0,$(USE_LROUND)) CONFIG_CFLAGS += -DHAVE_LROUND endif
ifneq (0,$(USE_FSEEKO)) CONFIG_CFLAGS += -DHAVE_FSEEKO endif
ifneq (0,$(USE_LANGINFO_CODESET)) CONFIG_CFLAGS += -DHAVE_LANGINFO_CODESET endif