60 lines
1.6 KiB
Makefile
60 lines
1.6 KiB
Makefile
INCLUDES = -I. -I../d_cpp
|
|
CXXFLAGS ?= -O2 -W -Wall -ansi -pedantic
|
|
CXXFLAGS += -ansi
|
|
CFLAGS ?= -O2
|
|
prefix ?= /usr/local
|
|
VDIR = tinyxml
|
|
|
|
includedir ?= $(prefix)/include
|
|
libdir ?= $(prefix)/lib
|
|
|
|
MAJOR=0d2
|
|
MINOR=0
|
|
|
|
VPATH=.:tinyxml
|
|
OBJS = bulletmlparser-tinyxml.o bulletmlparser.o bulletmltree.o calc.o \
|
|
formula-variables.o bulletmlrunner.o bulletmlrunnerimpl.o bulletml_d.o
|
|
TINYXML = tinyxml.o tinyxmlerror.o tinyxmlparser.o
|
|
|
|
all: bulletml.d libbulletml.a libbulletml.so.$(MAJOR).$(MINOR)
|
|
|
|
libbulletml.a: $(OBJS) $(TINYXML)
|
|
$(AR) cru $@ $^
|
|
|
|
libbulletml.so.$(MAJOR).$(MINOR): $(OBJS) $(TINYXML)
|
|
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -fPIC -fpic \
|
|
-Wl,-soname,libbulletml.so.$(MAJOR) \
|
|
-o $@ $^
|
|
|
|
bulletml.d: bulletml_d.cpp
|
|
perl ../d_cpp/create_d_import.pl bulletml_d.cpp bulletml.d
|
|
|
|
clean:
|
|
rm -f calc.cpp libbulletml.a libbulletml.so.$(MAJOR).$(MINOR) *.o tinyxml/*.o
|
|
|
|
calc.cpp: calc.yy
|
|
bison -y calc.yy -o calc.cpp
|
|
|
|
$(OBJS) $(TINYXML): %.o: %.cpp
|
|
$(CXX) -c $(CXXFLAGS) -fPIC -fpic $(INCLUDES) $<
|
|
|
|
doxy:
|
|
doxygen
|
|
|
|
install: all
|
|
install -D -m 644 bulletml.d $(DESTDIR)/$(includedir)/d/bulletml.d
|
|
install -D -m 644 tinyxml/tinyxml.h \
|
|
$(DESTDIR)/$(includedir)/bulletml/tinyxml/tinyxml.h
|
|
install -m 644 *.h $(DESTDIR)/$(includedir)/bulletml
|
|
install -d $(DESTDIR)/$(libdir)
|
|
install -m 644 libbulletml.a $(DESTDIR)/$(libdir)
|
|
install -m 644 libbulletml.so.$(MAJOR).$(MINOR) $(DESTDIR)/$(libdir)
|
|
ln -f -r -s \
|
|
$(DESTDIR)/$(libdir)/libbulletml.so.$(MAJOR).$(MINOR) \
|
|
$(DESTDIR)/$(libdir)/libbulletml.so.$(MAJOR)
|
|
ln -f -r -s \
|
|
$(DESTDIR)/$(libdir)/libbulletml.so.$(MAJOR).$(MINOR) \
|
|
$(DESTDIR)/$(libdir)/libbulletml.so
|
|
|
|
.PHONY: all clean doxy install
|