summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile15
-rw-r--r--Makefile.am3
-rwxr-xr-xautogen.sh2
-rw-r--r--clients/Makefile34
-rw-r--r--clients/Makefile.am36
-rw-r--r--compositor/Makefile29
-rw-r--r--compositor/Makefile.am27
-rw-r--r--config.mk.in28
-rw-r--r--configure.ac12
-rw-r--r--data/Makefile.am (renamed from data/Makefile)12
-rw-r--r--m4/.gitignore0
-rw-r--r--protocol/screenshooter.xml (renamed from compositor/screenshooter.xml)0
-rw-r--r--protocol/wayland.xml (renamed from wayland/protocol.xml)0
-rw-r--r--spec/Makefile11
-rw-r--r--wayland/Makefile61
-rw-r--r--wayland/Makefile.am50
-rw-r--r--wayland/scanner.mk8
17 files changed, 138 insertions, 190 deletions
diff --git a/Makefile b/Makefile
deleted file mode 100644
index d7d16719..00000000
--- a/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-include config.mk
-
-subdirs = wayland compositor clients spec data
-
-all : subdirs-all
-
-subdirs-all subdirs-clean subdirs-install:
- for f in $(subdirs); do $(MAKE) -C $$f $(@:subdirs-%=%); done
-
-install : subdirs-install
-
-clean : subdirs-clean
-
-config.mk : config.mk.in
- ./config.status
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 00000000..46529e50
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = wayland compositor clients data
+
+ACLOCAL_AMFLAGS = -I m4
diff --git a/autogen.sh b/autogen.sh
index 4e8b11ba..8b6f58f6 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -9,4 +9,4 @@ cd $srcdir
autoreconf --force -v --install || exit 1
cd $ORIGDIR || exit $?
-$srcdir/configure --enable-maintainer-mode "$@"
+$srcdir/configure "$@"
diff --git a/clients/Makefile b/clients/Makefile
deleted file mode 100644
index bd9d279c..00000000
--- a/clients/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-include ../config.mk
-
-CFLAGS += -I../wayland $(CLIENT_CFLAGS)
-LDLIBS += -L../wayland -lwayland-client $(CLIENT_LIBS) -lrt -lm
-
-egl_clients = gears
-cairo_clients = flower screenshot terminal image view dnd
-
-all : $(egl_clients) $(cairo_clients)
-
-clean :
- rm -f $(egl_clients) $(cairo_clients) *.o .*.deps
-
-flower : flower.o window.o wayland-glib.o cairo-util.o
-gears : gears.o window.o wayland-glib.o cairo-util.o
-screenshot : screenshot.o screenshooter-protocol.o wayland-glib.o cairo-util.o
-terminal : terminal.o window.o wayland-glib.o cairo-util.o
-image : image.o window.o wayland-glib.o cairo-util.o
-view : view.o window.o wayland-glib.o cairo-util.o
-dnd : dnd.o window.o wayland-glib.o cairo-util.o
-
-screenshot.c : screenshooter-client-protocol.h
-
-screenshooter-protocol.c : ../compositor/screenshooter.xml
- ../wayland/scanner code < $< > $@
-
-screenshooter-client-protocol.h : ../compositor/screenshooter.xml
- ../wayland/scanner client-header < $< > $@
-
-terminal : LDLIBS += -lutil
-view : CFLAGS += $(POPPLER_CFLAGS)
-view : LDLIBS += $(POPPLER_LIBS)
-
-install : \ No newline at end of file
diff --git a/clients/Makefile.am b/clients/Makefile.am
new file mode 100644
index 00000000..9277e779
--- /dev/null
+++ b/clients/Makefile.am
@@ -0,0 +1,36 @@
+noinst_PROGRAMS = gears flower screenshot terminal image view dnd
+noinst_LTLIBRARIES = libtoytoolkit.la
+
+INCLUDES = -I$(top_srcdir)/wayland $(CLIENT_CFLAGS) $(POPPLER_CFLAGS)
+
+LDADD = $(top_builddir)/wayland/libwayland-client.la \
+ libtoytoolkit.la $(CLIENT_LIBS) -lrt -lm
+
+AM_CPPFLAGS = -DDATADIR='"$(datadir)"'
+
+libtoytoolkit_la_SOURCES = \
+ window.c \
+ window.h \
+ wayland-glib.c \
+ wayland-glib.h \
+ cairo-util.c \
+ cairo-util.h
+
+flower_SOURCES = flower.c
+gears_SOURCES = gears.c
+screenshot_SOURCES = screenshot.c screenshooter-protocol.c
+terminal_SOURCES = terminal.c
+image_SOURCES = image.c
+view_SOURCES = view.c
+dnd_SOURCES = dnd.c
+
+BUILT_SOURCES = \
+ screenshooter-client-protocol.h \
+ screenshooter-protocol.c
+
+CLEANFILES = $(BUILT_SOURCES)
+
+include $(top_srcdir)/wayland/scanner.mk
+
+terminal_LDADD = $(LDADD) -lutil
+view_LDADD = $(LDADD) $(POPPLER_LIBS)
diff --git a/compositor/Makefile b/compositor/Makefile
deleted file mode 100644
index 21d8353a..00000000
--- a/compositor/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-include ../config.mk
-
-CFLAGS += -I../wayland $(COMPOSITOR_CFLAGS)
-LDLIBS += -L../wayland -lwayland-server $(COMPOSITOR_LIBS) -rdynamic -lrt -lm
-
-all : compositor
-
-compositor : \
- compositor.o \
- compositor-drm.o \
- compositor-x11.o \
- screenshooter.o \
- screenshooter-protocol.o \
- drm.o \
- shm.o
-
-screenshooter.c : screenshooter-server-protocol.h
-
-screenshooter-protocol.c : screenshooter.xml
- ../wayland/scanner code < $< > $@
-
-screenshooter-server-protocol.h : screenshooter.xml
- ../wayland/scanner server-header < $< > $@
-
-clean :
- rm -f compositor *.o .*.deps
-
-install :
- install 70-wayland.rules ${udev_rules_dir}
diff --git a/compositor/Makefile.am b/compositor/Makefile.am
new file mode 100644
index 00000000..a7d121bf
--- /dev/null
+++ b/compositor/Makefile.am
@@ -0,0 +1,27 @@
+noinst_PROGRAMS = compositor
+
+INCLUDES = -I$(top_srcdir)/wayland $(COMPOSITOR_CFLAGS)
+AM_CPPFLAGS = -DDATADIR='"$(datadir)"'
+
+compositor_LDADD = \
+ $(top_builddir)/wayland/libwayland-server.la \
+ $(COMPOSITOR_LIBS)
+
+compositor_SOURCES = \
+ compositor.c \
+ compositor.h \
+ compositor-drm.c \
+ compositor-x11.c \
+ screenshooter.c \
+ screenshooter-protocol.c \
+ screenshooter-server-protocol.h \
+ drm.c \
+ shm.c
+
+BUILT_SOURCES = \
+ screenshooter-server-protocol.h \
+ screenshooter-protocol.c
+
+CLEANFILES = $(BUILT_SOURCES)
+
+include $(top_srcdir)/wayland/scanner.mk
diff --git a/config.mk.in b/config.mk.in
deleted file mode 100644
index 8c59e159..00000000
--- a/config.mk.in
+++ /dev/null
@@ -1,28 +0,0 @@
-CFLAGS = @GCC_CFLAGS@ -O -g -Wall -MMD -MF .$*.deps
-CPPFLAGS = -DDATADIR=\"$(datadir)\"
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-udev_rules_dir = @sysconfdir@/udev/rules.d
-libdir = @libdir@
-includedir = @includedir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-
-COMPOSITOR_CFLAGS = @COMPOSITOR_CFLAGS@
-COMPOSITOR_LIBS = @COMPOSITOR_LIBS@
-
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-
-CLIENT_CFLAGS = @CLIENT_CFLAGS@
-CLIENT_LIBS = @CLIENT_LIBS@
-
-POPPLER_CFLAGS = @POPPLER_CFLAGS@
-POPPLER_LIBS = @POPPLER_LIBS@
-
-EXPAT_LIBS = @EXPAT_LIBS@
-
-first : all
-
--include .*.deps
diff --git a/configure.ac b/configure.ac
index 2e2743f4..fdfd61ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,9 @@
AC_INIT(wayland, 0.1)
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_CONFIG_MACRO_DIR([m4])
+AM_SILENT_RULES([yes])
PKG_PROG_PKG_CONFIG()
PKG_CHECK_MODULES(FFI, [libffi])
@@ -25,5 +29,11 @@ AC_CHECK_LIB(expat, XML_ParserCreate, [EXPAT_LIBS="-lexpat"],
[AC_MSG_ERROR([Can't find expat library. Please install expat.])])
AC_SUBST(EXPAT_LIBS)
-AC_CONFIG_FILES([config.mk wayland/wayland-server.pc wayland/wayland-client.pc])
+AC_CONFIG_FILES([wayland/wayland-server.pc
+ wayland/wayland-client.pc
+ Makefile
+ wayland/Makefile
+ compositor/Makefile
+ clients/Makefile
+ data/Makefile])
AC_OUTPUT
diff --git a/data/Makefile b/data/Makefile.am
index f8b28b66..9de8ebd9 100644
--- a/data/Makefile
+++ b/data/Makefile.am
@@ -1,6 +1,6 @@
-include ../config.mk
+waylanddatadir = $(datadir)/wayland
-cursor_images = \
+dist_waylanddata_DATA = \
bottom_left_corner.png \
bottom_right_corner.png \
bottom_side.png \
@@ -19,11 +19,3 @@ cursor_images = \
top_right_corner.png \
top_side.png \
xterm.png
-
-all :
-
-clean :
-
-install :
- install -d $(datadir)/wayland
- install $(cursor_images) $(datadir)/wayland
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/m4/.gitignore
diff --git a/compositor/screenshooter.xml b/protocol/screenshooter.xml
index f8d993d7..f8d993d7 100644
--- a/compositor/screenshooter.xml
+++ b/protocol/screenshooter.xml
diff --git a/wayland/protocol.xml b/protocol/wayland.xml
index 84398ac4..84398ac4 100644
--- a/wayland/protocol.xml
+++ b/protocol/wayland.xml
diff --git a/spec/Makefile b/spec/Makefile
deleted file mode 100644
index 26a3e23f..00000000
--- a/spec/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-include ../config.mk
-
-all : main.pdf
-
-main.pdf : main.tex
- pdflatex main.tex
-
-clean :
- rm -f main.pdf main.aux main.log
-
-install :
diff --git a/wayland/Makefile b/wayland/Makefile
deleted file mode 100644
index e922bf67..00000000
--- a/wayland/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-include ../config.mk
-
-libs = libwayland-server.so libwayland-client.so
-
-all : $(libs) scanner
-
-headers = \
- wayland-util.h \
- wayland-server-protocol.h \
- wayland-server.h \
- wayland-client-protocol.h \
- wayland-client.h \
-
-libwayland-server.so : \
- wayland-protocol.o \
- wayland-server.o \
- event-loop.o \
- connection.o \
- wayland-util.o \
- wayland-hash.o
-
-libwayland-client.so : \
- wayland-protocol.o \
- wayland-client.o \
- connection.o \
- wayland-util.o \
- wayland-hash.o
-
-wayland-server.o : wayland-server-protocol.h
-wayland-client.o : wayland-client-protocol.h
-
-wayland-protocol.c : protocol.xml scanner
- ./scanner code < $< > $@
-
-wayland-server-protocol.h : protocol.xml scanner
- ./scanner server-header < $< > $@
-
-wayland-client-protocol.h : protocol.xml scanner
- ./scanner client-header < $< > $@
-
-$(libs) : CFLAGS += -fPIC $(FFI_CFLAGS)
-$(libs) : LDLIBS += $(FFI_LIBS)
-$(libs) :
- gcc -shared $^ $(LDLIBS) -o $@
-
-scanner : \
- scanner.o \
- wayland-util.o
-
-scanner : LDLIBS += $(EXPAT_LIBS)
-
-install : $(libs)
- install -d $(libdir) $(includedir) $(libdir)/pkgconfig
- install wayland-server.pc wayland-client.pc $(libdir)/pkgconfig
- install $(libs) $(libdir)
- install $(headers) $(includedir)
-
-clean :
- rm -f scanner *.o *.so .*.deps
- rm -f wayland-protocol.c \
- wayland-server-protocol.h wayland-client-protocol.h
diff --git a/wayland/Makefile.am b/wayland/Makefile.am
new file mode 100644
index 00000000..d46a7e0e
--- /dev/null
+++ b/wayland/Makefile.am
@@ -0,0 +1,50 @@
+lib_LTLIBRARIES = libwayland-server.la libwayland-client.la
+noinst_LTLIBRARIES = libwayland-util.la
+
+include_HEADERS = \
+ wayland-util.h \
+ wayland-server-protocol.h \
+ wayland-server.h \
+ wayland-client-protocol.h \
+ wayland-client.h
+
+libwayland_util_la_SOURCES = \
+ connection.c \
+ connection.h \
+ wayland-util.c \
+ wayland-util.h \
+ wayland-hash.c
+
+libwayland_server_la_LIBADD = $(FFI_LIBS) libwayland-util.la
+libwayland_server_la_SOURCES = \
+ wayland-protocol.c \
+ wayland-server.c \
+ event-loop.c
+
+libwayland_client_la_LIBADD = $(FFI_LIBS) libwayland-util.la
+libwayland_client_la_SOURCES = \
+ wayland-protocol.c \
+ wayland-client.c
+
+INCLUDES = $(FFI_CFLAGS)
+
+include $(top_srcdir)/wayland/scanner.mk
+
+noinst_PROGRAMS = scanner
+
+scanner_SOURCES = \
+ scanner.c
+
+scanner_LDADD = $(EXPAT_LIBS) libwayland-util.la
+
+$(BUILT_SOURCES) : scanner
+
+BUILT_SOURCES = \
+ wayland-server-protocol.h \
+ wayland-client-protocol.h \
+ wayland-protocol.c
+
+CLEANFILES = $(BUILT_SOURCES)
+
+foo :
+ echo $(top_builddir) \ No newline at end of file
diff --git a/wayland/scanner.mk b/wayland/scanner.mk
new file mode 100644
index 00000000..0f03af11
--- /dev/null
+++ b/wayland/scanner.mk
@@ -0,0 +1,8 @@
+%-protocol.c : $(top_srcdir)/protocol/%.xml
+ $(top_builddir)/wayland/scanner code < $< > $@
+
+%-server-protocol.h : $(top_srcdir)/protocol/%.xml
+ $(top_builddir)/wayland/scanner server-header < $< > $@
+
+%-client-protocol.h : $(top_srcdir)/protocol/%.xml
+ $(top_builddir)/wayland/scanner client-header < $< > $@