diff --git a/Makefile.deps b/Makefile.deps index 60294463..1dea2fa2 100644 --- a/Makefile.deps +++ b/Makefile.deps @@ -18,13 +18,9 @@ ifeq ($(findstring Windows,$(OS)),Windows) # "Windows" is provided by GNU Make's internal $(OS) LIBFLAC_DEPS = share/win_utf8_io -else -ifeq ($(findstring MINGW,$(OS)),MINGW) # "MINGW" is provided by config.mk's `uname -s` - LIBFLAC_DEPS = share/win_utf8_io else LIBFLAC_DEPS = endif -endif libFLAC: $(LIBFLAC_DEPS) flac: libFLAC share diff --git a/Makefile.lite b/Makefile.lite index abd95912..740fc7fe 100644 --- a/Makefile.lite +++ b/Makefile.lite @@ -32,7 +32,7 @@ topdir = . .PHONY: all doc src examples libFLAC libFLAC++ share/win_utf8_io share plugin_common flac metaflac test_grabbag test_libFLAC test_libFLAC++ test_seeking test_streams flacdiff flactimer -all: doc src examples +all: src examples DEFAULT_CONFIG = release diff --git a/build/compile.mk b/build/compile.mk index a2636c48..fb243442 100644 --- a/build/compile.mk +++ b/build/compile.mk @@ -27,11 +27,11 @@ %.debug.o %.release.o : %.cpp $(CCC) $(CXXFLAGS) -c $< -o $@ %.debug.pic.o %.release.pic.o : %.c - $(CC) $(CFLAGS) -fPIC -DPIC -c $< -o $@ + $(CC) $(CFLAGS) $(F_PIC) -DPIC -c $< -o $@ %.debug.pic.o %.release.pic.o : %.cc - $(CCC) $(CXXFLAGS) -fPIC -DPIC -c $< -o $@ + $(CCC) $(CXXFLAGS) $(F_PIC) -DPIC -c $< -o $@ %.debug.pic.o %.release.pic.o : %.cpp - $(CCC) $(CXXFLAGS) -fPIC -DPIC -c $< -o $@ + $(CCC) $(CXXFLAGS) $(F_PIC) -DPIC -c $< -o $@ %.debug.i %.release.i : %.c $(CC) $(CFLAGS) -E $< -o $@ %.debug.i %.release.i : %.cc diff --git a/build/config.mk b/build/config.mk index 916c5415..67f33a9f 100644 --- a/build/config.mk +++ b/build/config.mk @@ -24,6 +24,7 @@ USE_OGG ?= 1 USE_ICONV ?= 1 USE_LROUND ?= 1 USE_FSEEKO ?= 1 +USE_LANGINFO_CODESET ?= 1 # # debug/release selection @@ -31,23 +32,25 @@ USE_FSEEKO ?= 1 DEFAULT_BUILD = release +F_PIC := -fPIC + # returns Linux, Darwin, FreeBSD, etc. -ifdef OS_OVERRIDE - OS := $(OS_OVERRIDE) -else +ifndef OS OS := $(shell uname -s) endif # returns i386, x86_64, powerpc, etc. -ifdef PROC_OVERRIDE - PROC := $(PROC_OVERRIDE) -else - ifeq ($(findstring MINGW,$(OS)),MINGW) +ifndef PROC + ifeq ($(findstring Windows,$(OS)),Windows) PROC := i386 # failsafe USE_ICONV := 0 - # ifeq (mingw32,$(shell gcc -dumpmachine)) # MinGW (mainline): mingw32 + USE_LANGINFO_CODESET := 0 + ifeq (mingw32,$(shell gcc -dumpmachine)) # MinGW (mainline): mingw32 + USE_FSEEKO := 0 + endif # 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 + F_PIC := endif else PROC := $(shell uname -p) @@ -83,7 +86,7 @@ all default: $(DEFAULT_BUILD) VERSION=\"1.3.0\" -CONFIG_CFLAGS=$(CUSTOM_CFLAGS) -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DHAVE_CXX_VARARRAYS -DHAVE_LANGINFO_CODESET -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +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 -arch $(PROC) @@ -134,3 +137,7 @@ endif ifneq (0,$(USE_FSEEKO)) CONFIG_CFLAGS += -DHAVE_FSEEKO endif + +ifneq (0,$(USE_LANGINFO_CODESET)) + CONFIG_CFLAGS += -DHAVE_LANGINFO_CODESET +endif diff --git a/build/lib.mk b/build/lib.mk index bb52b1a6..5d81f8f5 100644 --- a/build/lib.mk +++ b/build/lib.mk @@ -39,13 +39,15 @@ RELEASE_LIBPATH = $(OBJPATH)/release/lib ifeq ($(OS),Darwin) STATIC_LIB_SUFFIX = a DYNAMIC_LIB_SUFFIX = dylib -else ifeq ($(findstring MINGW,$(OS)),MINGW) +else +ifeq ($(findstring Windows,$(OS)),Windows) STATIC_LIB_SUFFIX = a DYNAMIC_LIB_SUFFIX = dll else STATIC_LIB_SUFFIX = a DYNAMIC_LIB_SUFFIX = so endif +endif STATIC_LIB_NAME = $(LIB_NAME).$(STATIC_LIB_SUFFIX) DYNAMIC_LIB_NAME = $(LIB_NAME).$(DYNAMIC_LIB_SUFFIX) STATIC_LIB = $(LIBPATH)/$(STATIC_LIB_NAME) diff --git a/src/Makefile.lite b/src/Makefile.lite index 680f5fbe..8266b6c3 100644 --- a/src/Makefile.lite +++ b/src/Makefile.lite @@ -31,7 +31,7 @@ else endif endif -ifeq ($(findstring MINGW,$(OS)),MINGW) +ifeq ($(findstring Windows,$(OS)),Windows) EXTRA_TARGETS += share/win_utf8_io endif @@ -50,7 +50,7 @@ debug : all valgrind: all release : all -flac libFLAC libFLAC++ metaflac plugin_common plugin_xmms share test_grabbag test_libs_common test_libFLAC test_libFLAC++ test_seeking test_streams: +flac libFLAC libFLAC++ metaflac plugin_common plugin_xmms share/win_utf8_io share test_grabbag test_libs_common test_libFLAC test_libFLAC++ test_seeking test_streams: (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG)) flacdiff flactimer: diff --git a/src/plugin_common/Makefile.lite b/src/plugin_common/Makefile.lite index 5dd05e76..b20d26dd 100644 --- a/src/plugin_common/Makefile.lite +++ b/src/plugin_common/Makefile.lite @@ -24,7 +24,16 @@ topdir = ../.. LIB_NAME = libplugin_common INCLUDES = -I$(topdir)/include -I$(HOME)/local/include -DEFINES = + +ifeq ($(OS),Darwin) + EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libreplaygain_analysis.a $(libdir)/libFLAC.a $(OGG_EXPLICIT_LIBS) -lm +else +ifeq ($(findstring Windows,$(OS)),Windows) + LIBS = -lgrabbag -lreplaygain_analysis -lFLAC -lwin_utf8_io $(OGG_LIBS) -lm +else + LIBS = -lgrabbag -lreplaygain_analysis -lFLAC $(OGG_LIBS) -lm +endif +endif SRCS_C = \ charset.c \