Further updates to the Makefile.lite build system.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
diff --git a/Makefile.deps b/Makefile.deps
index 6029446..1dea2fa 100644
--- a/Makefile.deps
+++ b/Makefile.deps
@@ -19,12 +19,8 @@
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 abd9591..740fc7f 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 a2636c4..fb24344 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 916c541..67f33a9 100644
--- a/build/config.mk
+++ b/build/config.mk
@@ -24,6 +24,7 @@
USE_ICONV ?= 1
USE_LROUND ?= 1
USE_FSEEKO ?= 1
+USE_LANGINFO_CODESET ?= 1
#
# debug/release selection
@@ -31,23 +32,25 @@
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 @@
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 @@
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 bb52b1a..5d81f8f 100644
--- a/build/lib.mk
+++ b/build/lib.mk
@@ -39,13 +39,15 @@
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 680f5fb..8266b6c 100644
--- a/src/Makefile.lite
+++ b/src/Makefile.lite
@@ -31,7 +31,7 @@
endif
endif
-ifeq ($(findstring MINGW,$(OS)),MINGW)
+ifeq ($(findstring Windows,$(OS)),Windows)
EXTRA_TARGETS += share/win_utf8_io
endif
@@ -50,7 +50,7 @@
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 5dd05e7..b20d26d 100644
--- a/src/plugin_common/Makefile.lite
+++ b/src/plugin_common/Makefile.lite
@@ -24,7 +24,16 @@
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 \