From: Christophe de Dinechin <dinec...@redhat.com>

Make-it-Quick is a make-only build system that uses makefiles
for autoconfiguration. For SPICE, it provides a faster, easier to
maintain and more flexible build system.

A key feature made possible by this build system is top-level builds.
Top-level builds are made from a 'spice' directory that has protocol,
common, server and client as its sub-directories. This makes it easy
to make changes in protocol or common and rebuild all impacted server
and client code, with proper header dependency tracking.

The make-it-quick system is still evolving rapidly. In its current
incarnation, it does not yet offer all the usual targets expected from
a makefile generated by automake.

Github review link: 
https://github.com/c3d/spice-streaming-agent/commits/c3d-build

Signed-off-by: Christophe de Dinechin <dinec...@redhat.com>
---
 Makefile     | 19 +++++++++++++++++++
 src/Makefile | 38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 Makefile
 create mode 100644 src/Makefile

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0bcf7a7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,19 @@
+MIQ=make-it-quick/
+
+SUBDIRS=src
+
+AUTOSTART=     spice-streaming.deskop
+SRC_AUTOSTART= src/$(AUTOSTART)
+XDG_AUTOSTART= $(SYSCONFIG)xdg/autostart/$(AUTOSTART)
+GDM_AUTOSTART= $(PREFIX_SHARE)gdm/greeter/autostart/$(AUTOSTART)
+
+HEADERS=       $(wildcard include/spice-streaming-agent/*.hpp)
+PREFIX_HDR=    $(PREFIX)include/spice-streaming-agent/
+
+include $(MIQ)rules.mk
+$(MIQ)rules.mk:
+       git clone http://github.com/c3d/make-it-quick
+
+install: $(XDG_AUTOSTART) $(GDM_AUTOSTART)
+$(XDG_AUTOSTART) $(GDM_AUTOSTART): $(SRC_AUTOSTART)
+       $(PRINT_INSTALL) $< $@
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 0000000..15bd7da
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,38 @@
+TOP=../
+MIQ=$(TOP)make-it-quick/
+
+PRODUCTS=      spice-streaming-agent.exe
+
+PKGCONFIGS=    libjpeg                                                 \
+               x11
+
+ifndef SPICE_PROTOCOL
+PKGCONFIGS+=   spice-protocol
+endif
+
+CONFIG=                libpthread                                              
\
+               libdl                                                   \
+               libX11                                                  \
+               libXfixes
+
+SOURCES=       spice-streaming-agent.cpp                               \
+               concrete-agent.cpp                                      \
+               cursor-updater.cpp                                      \
+               frame-log.cpp                                           \
+               mjpeg-fallback.cpp                                      \
+               jpeg.cpp                                                \
+               stream-port.cpp                                         \
+               error.cpp                                               \
+               hexdump.c
+
+INCLUDES=      .                                                       \
+               ../include                                              \
+               $(SPICE_PROTOCOL)
+
+DEFINES=       SPICE_STREAMING_AGENT_PROGRAM                           \
+               PLUGINSDIR=\"$(PREFIX_LIB)spice-streaming-agent\"       \
+               VERSION=\"$(PACKAGE_VERSION)\"
+
+include $(MIQ)rules.mk
+$(MIQ)rules.mk:
+       cd $(TOP) && make $(TARGET)
--
2.13.5 (Apple Git-94)
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to