blob: 473649f42fe9862500f76ac6cfa8f6612933d0fd (
plain)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
.POSIX:
.SUFFIXES:
all: hare-gi .gen
DESTDIR =
PREFIX = /usr/local
BINDIR = $(PREFIX)/bin
SRCDIR = $(PREFIX)/src
HARESRCDIR = $(SRCDIR)/hare
THIRDPARTYDIR = $(HARESRCDIR)/third-party
MODULES_CORE = \
gi/libc \
gi/glib \
gi/gobject \
gi/gio \
gi/gmodule
MODULES_GTK_SHARED = \
gi/atk \
gi/gdkpixbuf \
gi/freetype \
gi/harfbuzz \
gi/cairo \
gi/pango \
gi/xlib
MODULES_GTK3 = \
gi/gdk \
gi/gtk
MODULES_GTK4 = \
gi/gdk4 \
gi/gtk4 \
gi/pangocairo \
gi/graphene \
gi/gsk
LIBS_3 != pkg-config --libs-only-l gtk+-3.0
LIBS_4 != pkg-config --libs-only-l gtk4
HARE_GI_SRC != find cmd/hare-gi/ -name '*.ha'
GIR_SRC != find gir/ -name '*.ha'
FORMAT_FASTXML_SRC != find format/fastxml/ -name '*.ha'
hare-gi: $(HARE_GI_SRC) $(GIR_SRC) $(FORMAT_FASTXML_SRC)
hare build -o $@ cmd/hare-gi/
.gen: hare-gi
./scripts/generate-gtk3
./scripts/generate-gtk4
touch .gen
install: hare-gi install-core install-gtk-shared install-gtk3 install-gtk4
install -Dm755 hare-gi "$(DESTDIR)$(BINDIR)"/hare-gi
install-core: .gen
@./scripts/install-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_CORE)
install-gtk-shared: .gen
@./scripts/install-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_GTK_SHARED)
install-gtk3: .gen
@./scripts/install-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_GTK3)
install-gtk4: .gen
@./scripts/install-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_GTK4)
uninstall: uninstall-core uninstall-gtk-shared uninstall-gtk3 uninstall-gtk4
uninstall-core:
@./scripts/uninstall-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_CORE)
uninstall-gtk-shared:
@./scripts/uninstall-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_GTK_SHARED)
uninstall-gtk3:
@./scripts/uninstall-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_GTK3)
uninstall-gtk4:
@./scripts/uninstall-modules "$(DESTDIR)$(THIRDPARTYDIR)" $(MODULES_GTK4)
demo-gtk3: .gen
hare build $(LIBS_3) -o demo-gtk3 cmd/demo-gtk3
demo-gtk4: .gen
hare build $(LIBS_4) -o demo-gtk4 cmd/demo-gtk4
clean:
rm -f hare-gi xmltree demo-gtk3 demo-gtk4 gi/*/_generate.ha
.PHONY: all clean
.PHONY: install install-core install-gtk-shared install-gtk3 install-gtk4
.PHONY: uninstall uninstall-core uninstall-gtk-shared uninstall-gtk3 uninstall-gtk4
.PHONY: demo-gtk3 demo-gtk4
|