54 lines
1.6 KiB
Makefile
54 lines
1.6 KiB
Makefile
# 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
|