1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
PROJECT = angelscript-addon
ANGELSCRIPT_SRCDIR := angelscript/projects/gnuc
ANGELSCRIPT_OUTDIR := angelscript/lib
ANGELSCRIPT_LIB := $(ANGELSCRIPT_OUTDIR)/libangelscript.so
MULTIARCH ?= $(shell $(CC) --print-multiarch)
PREFIX ?= /usr
INCLUDEDIR ?= include/angelscript
LIBDIR ?= lib/$(MULTIARCH)
OUTDIR := angelscript/lib
CPPFLAGS += -Iangelscript/include -DAS_USE_NAMESPACE
CXXFLAGS += -fPIC
HEADERS := $(wildcard add_on/*/*.h)
SRCS := $(wildcard add_on/*/*.cpp)
OBJS := $(sort $(SRCS:.cpp=.o))
LIB_NAME := lib$(PROJECT).so
SO_NAME := $(LIB_NAME).$(VERSION)
REAL_NAME := $(LIB_NAME).$(VERSION)
ARLIB := lib$(PROJECT).a
SHLIB := $(SO_NAME)
PCFILE := debian/$(PROJECT).pc
.PHONY: all
all: $(OUTDIR)/$(ARLIB) $(OUTDIR)/$(SHLIB)
$(OUTDIR)/$(ARLIB): $(OBJS)
mkdir -p $(OUTDIR)
$(AR) rcs $@ $^
$(OUTDIR)/$(SHLIB): $(OBJS) $(ANGELSCRIPT_LIB)
mkdir -p $(OUTDIR)
$(CXX) -shared -Wl,-soname,$(SO_NAME) -o $@ $^ $(LDFLAGS)
$(OUTDIR)/$(PCFILE): $(PCFILE).in
sed 's|@prefix@|$(PREFIX)|; s|@libdir@|$(LIBDIR)|; s|@includedir@|$(INCLUDEDIR)|; s|@version@|$(VERSION)|' $< > $@
$(ANGELSCRIPT_LIB):
+$(MAKE) -C "$(ANGELSCRIPT_SRCDIR)" \
CXXFLAGS="$(CXXFLAGS) $(CPPFLAGS)" LDFLAGS="$(LDFLAGS) -pthread" \
LIBDIR=../../lib
.PHONY: clean
clean:
rm -f $(ARLIB) $(SHLIB) $(OBJS)
+$(MAKE) -C "$(ANGELSCRIPT_SRCDIR)" clean
.PHONY: install-shared
install-shared: $(OUTDIR)/$(SHLIB)
install -d $(DESTDIR)$(PREFIX)/$(LIBDIR) || true
install -m 0644 $< $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(REAL_NAME)
#rm -f $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(SO_NAME)
#ln -s $(REAL_NAME) $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(SO_NAME)
rm -f $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(LIB_NAME)
ln -s $(SO_NAME) $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(LIB_NAME)
.PHONY: install-static
install-static: $(OUTDIR)/$(ARLIB)
install -d $(DESTDIR)$(PREFIX)/$(LIBDIR) || true
install -m 0644 $< $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(ARLIB)
.PHONY: install-header
install-header: $(HEADERS)
install -d $(DESTDIR)$(PREFIX)/$(INCLUDEDIR) || true
install -m 0644 $^ $(DESTDIR)$(PREFIX)/$(INCLUDEDIR)/
.PHONY: install
install: install-shared install-static install-header
+$(MAKE) -C "$(ANGELSCRIPT_SRCDIR)" install PREFIX="$(PREFIX)" LIBDIR_DEST="$(PREFIX)/$(LIBDIR)"
|