blob: cb924013aeeb192906d0decd67cd8b30c61366c4 (
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
|
# config
-include Make.config
include mk/Variables.mk
# add our flags + libs
CFLAGS += -DVERSION='"$(VERSION)"' -DLIB='"$(LIB)"'
CFLAGS += -Wno-pointer-sign
# valgrind options
VFLAGS := --leak-check=full --show-possibly-lost=no
# build
TARGETS := vconsole vpublish
all: build
#################################################################
# poor man's autoconf ;-)
include mk/Autoconf.mk
define make-config
LIB := $(LIB)
endef
pkgs_vconsole := glib-2.0 gthread-2.0 gtk+-3.0 vte-2.91 libvirt
pkgs_vpublish := glib-2.0 gthread-2.0 libvirt libxml-2.0 avahi-client avahi-glib
HAVE_DEPS := $(shell pkg-config $(pkgs_vconsole) $(pkgs_vpublish) && echo yes)
vconsole : pkglst := $(pkgs_vconsole)
vpublish : pkglst := $(pkgs_vpublish)
CFLAGS += $(shell pkg-config --cflags $(pkglst))
LDLIBS += $(shell pkg-config --libs $(pkglst))
# desktop files
DESKTOP := $(wildcard $(patsubst %,%.desktop,$(TARGETS)))
SERVICE := $(wildcard $(patsubst %,%.service,$(TARGETS)))
########################################################################
# rules
ifneq ($(HAVE_DEPS),yes)
.PHONY: deps
build:
@echo "Build dependencies missing."
@echo " vconsole needs: $(pkgs_vconsole)"
@echo " vpublish needs: $(pkgs_vpublish)"
@echo "Please install. You can try 'make yum' (needs sudo)."
@echo ""
@false
yum dnf:
sudo $@ install $(patsubst %,"pkgconfig(%)",$(pkgs_vconsole) $(pkgs_vpublish))
else
build: $(TARGETS)
endif
install: build
$(INSTALL_DIR) $(bindir) $(mandir)/man1 $(appdir)
$(INSTALL_BINARY) $(TARGETS) $(bindir)
$(INSTALL_DATA) vconsole.man $(mandir)/man1/vconsole.1
$(INSTALL_DATA) $(DESKTOP) $(appdir)
$(INSTALL_DIR) $(DESTDIR)/usr/lib/systemd/system
$(INSTALL_DATA) $(SERVICE) $(DESTDIR)/usr/lib/systemd/system
valgrind: vconsole
rm -f valgrind.log
valgrind $(VFLAGS) --log-file=valgrind.log ./vconsole
clean:
-rm -f *.o *~ $(depfiles)
realclean distclean: clean
-rm -f Make.config
-rm -f $(TARGETS) *~ *.bak
#############################################
vconsole: vconsole.o connect.o domain.o libvirt-glib-event.o
vpublish: vpublish.o mdns-publish.o libvirt-glib-event.o
include mk/Compile.mk
include mk/Maintainer.mk
-include $(depfiles)
|