Files
haikuports/dev-libs/tinyxml/additional-files/Makefile
Humdinger 3e9345f81d Build fix for tinyxml
The recipe used to download a CMakeLists.txt that's no longer available.
Instead I added the makefile from Gentoo [1], as suggested by PulkoMandy,
which I slightly changed to save the need to patch it.
2016-10-22 08:48:46 +02:00

45 lines
1.0 KiB
Makefile

AR ?= ar
CXX ?= g++
CXXFLAGS += -Wall
RANLIB ?= ranlib
LIBDIR ?= /usr/lib
name = libtinyxml
major = @MAJOR_V@
minor = @MINOR_V@
version = $(major).$(minor)
src = tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp
lo = $(addsuffix .lo,$(basename ${src}))
o = $(addsuffix .o,$(basename ${src}))
lib = so
ifeq ($(shell uname),Darwin)
lib = dylib
endif
all: $(name).a $(name).$(lib)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(name).a: $(o)
$(AR) rc $(name).a $(o)
$(RANLIB) $(name).a
%.lo: %.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -fPIC $< -o $@
$(name).so: $(lo)
$(CXX) $(LDFLAGS) -fPIC -shared $(lo) -Wl,-soname,$(name).so.$(major) -o $(name).so.$(version)
ln -s $(name).so.$(version) $(name).so.$(major)
ln -s $(name).so.$(version) $(name).so
$(name).dylib: $(lo)
$(CXX) $(LDFLAGS) -fPIC -dynamiclib $(lo) -install_name $(LIBDIR)/$(name).$(major).dylib -o $(name).$(version).dylib
ln -s $(name).$(version).dylib $(name).$(major).dylib
ln -s $(name).$(version).dylib $(name).dylib
clean:
-rm -f *.o *.lo *.so* *.a