| diff --git a/Makefile b/Makefile |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -19,11 +19,11 @@ TINYXML_USE_STL := NO |
| |
| #**************************************************************************** |
| |
| -CC := gcc |
| -CXX := g++ |
| -LD := g++ |
| -AR := ar rc |
| -RANLIB := ranlib |
| +CC ?= gcc |
| +CXX ?= g++ |
| +CCLD ?= ${CXX} |
| +AR ?= ar |
| +RANLIB ?= ranlib |
| |
| DEBUG_CFLAGS := -Wall -Wno-format -g -DDEBUG |
| RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O3 |
| @@ -35,15 +35,16 @@ RELEASE_CXXFLAGS := ${RELEASE_CFLAGS} |
| |
| DEBUG_LDFLAGS := -g |
| RELEASE_LDFLAGS := |
| +ARFLAGS ?= rc |
| |
| ifeq (YES, ${DEBUG}) |
| - CFLAGS := ${DEBUG_CFLAGS} |
| - CXXFLAGS := ${DEBUG_CXXFLAGS} |
| - LDFLAGS := ${DEBUG_LDFLAGS} |
| + CFLAGS := ${CFLAGS} ${DEBUG_CFLAGS} |
| + CXXFLAGS := ${CXXFLAGS} ${DEBUG_CXXFLAGS} |
| + LDFLAGS := ${LDFLAGS} ${DEBUG_LDFLAGS} |
| else |
| - CFLAGS := ${RELEASE_CFLAGS} |
| - CXXFLAGS := ${RELEASE_CXXFLAGS} |
| - LDFLAGS := ${RELEASE_LDFLAGS} |
| + CFLAGS := ${CFLAGS} ${RELEASE_CFLAGS} |
| + CXXFLAGS := ${CXXFLAGS} ${RELEASE_CXXFLAGS} |
| + LDFLAGS := ${LDFLAGS} ${RELEASE_LDFLAGS} |
| endif |
| |
| ifeq (YES, ${PROFILE}) |
| @@ -82,6 +83,7 @@ CXXFLAGS := ${CXXFLAGS} ${DEFS} |
| #**************************************************************************** |
| |
| OUTPUT := xmltest |
| +LIBRARY := libtinyxml.a |
| |
| all: ${OUTPUT} |
| |
| @@ -90,11 +92,12 @@ all: ${OUTPUT} |
| # Source files |
| #**************************************************************************** |
| |
| -SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp |
| +LIB_SRCS := tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp |
| |
| # Add on the sources for libraries |
| -SRCS := ${SRCS} |
| +SRCS := ${LIB_SRCS} xmltest.cpp |
| |
| +LIB_OBJS := $(addsuffix .o,$(basename ${LIB_SRCS})) |
| OBJS := $(addsuffix .o,$(basename ${SRCS})) |
| |
| #**************************************************************************** |
| @@ -102,7 +105,10 @@ OBJS := $(addsuffix .o,$(basename ${SRCS})) |
| #**************************************************************************** |
| |
| ${OUTPUT}: ${OBJS} |
| - ${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} |
| + ${CCLD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} |
| + |
| +${LIBRARY}: ${LIB_OBJS} |
| + ${AR} ${ARFLAGS} $@ $^ |
| |
| #**************************************************************************** |
| # common rules |
| @@ -119,7 +125,7 @@ dist: |
| bash makedistlinux |
| |
| clean: |
| - -rm -f core ${OBJS} ${OUTPUT} |
| + -rm -f core ${OBJS} ${OUTPUT} ${LIBRARY} |
| |
| depend: |
| #makedepend ${INCS} ${SRCS} |