notepad-plus-plus/scintilla/test/gi/makefile

54 lines
1.6 KiB
Makefile
Raw Normal View History

2019-05-04 18:14:48 +00:00
# Build gir and test
# For Ubuntu, these may be needed:
# apt-get install gobject-introspection
# apt-get install libgirepository1.0-dev
all: Scintilla-0.1.typelib
ifdef GTK3
GTKVERSION=3.0
else
GTKVERSION=2.0
endif
GI_SCANNER = g-ir-scanner
GI_COMPILER = g-ir-compiler
GTK_LIBS = $(shell pkg-config --libs gtk+-$(GTKVERSION))
GTK_CFLAGS = $(shell pkg-config --cflags gtk+-$(GTKVERSION))
PWD = $(shell pwd)
.PHONY: test clean FORCE
../../bin/scintilla.a: FORCE
$(MAKE) -C ../../gtk all
Scintilla-filtered.h: ../../include/Scintilla.h
python filter-scintilla-h.py $< > $@
libscintilla.so: ../../bin/scintilla.a
$(CXX) -shared -o $@ -Wl,--whole-archive $^ -Wl,--no-whole-archive $(GTK_LIBS)
Scintilla-0.1.gir: libscintilla.so Scintilla-filtered.h
LDFLAGS=-Wl,-rpath=$(shell pwd) \
$(GI_SCANNER) --no-libtool --warn-all -i Gtk-$(GTKVERSION) -DG_IR_SCANNING -DGTK \
--cflags-begin $(GTK_CFLAGS) -include gtk/gtk.h \
-include Scintilla-filtered.h -I../../include --cflags-end \
--accept-unprefixed \
--c-include Scintilla.h --c-include ScintillaWidget.h \
-n Scintilla --nsversion 0.1 --library scintilla -L$(PWD) \
../../include/Sci_Position.h ../../include/ScintillaWidget.h Scintilla-filtered.h \
-o $@
Scintilla-0.1.typelib: Scintilla-0.1.gir
$(GI_COMPILER) $^ -o $@
clean:
rm -f libscintilla.so Scintilla-0.1.gir Scintilla-0.1.typelib Scintilla-filtered.h
$(MAKE) -C ../../gtk clean
test: Scintilla-0.1.gir Scintilla-0.1.typelib
@echo Verifying Scintilla-0.1.gir file
@diff $<.good $< || (echo "GIR FILE MISMATCH!"; exit 1)
@echo Launching gi-test.py python program
GI_TYPELIB_PATH=$(PWD) LD_LIBRARY_PATH=$(PWD) \
python $(PWD)/gi-test.py