Use autoconf instead of $(shell ...) in the Makefile.
This commit is contained in:
parent
b820b82cad
commit
d4de54efe7
5
.gitignore
vendored
5
.gitignore
vendored
@ -7,3 +7,8 @@ screenshot
|
||||
*.jpg
|
||||
*.png
|
||||
*~
|
||||
aclocal.m4
|
||||
autom4te.cache/
|
||||
config.log
|
||||
config.status
|
||||
configure
|
||||
|
66
Makefile
66
Makefile
@ -1,66 +0,0 @@
|
||||
CFLAGS = -Wall -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden
|
||||
|
||||
PKG_CONFIG_PATH ?= $(HOME)/install/lib/pkgconfig
|
||||
|
||||
EAGLE_CFLAGS = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --cflags eagle)
|
||||
EAGLE_LDLIBS = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --libs eagle)
|
||||
|
||||
clients = flower window screenshot
|
||||
compositors = egl-compositor.so glx-compositor.so
|
||||
|
||||
all : wayland libwayland.so $(compositors) $(clients)
|
||||
|
||||
wayland_objs = \
|
||||
wayland.o \
|
||||
event-loop.o \
|
||||
connection.o \
|
||||
wayland-util.o
|
||||
|
||||
wayland : CFLAGS += $(shell pkg-config --cflags libffi)
|
||||
wayland : LDLIBS += $(shell pkg-config --libs libffi) -ldl -rdynamic
|
||||
|
||||
wayland : $(wayland_objs)
|
||||
gcc -o $@ $(LDLIBS) $(wayland_objs)
|
||||
|
||||
libwayland_objs = wayland-client.o connection.o wayland-util.o
|
||||
|
||||
libwayland.so : $(libwayland_objs)
|
||||
|
||||
$(compositors) $(clients) : CFLAGS += $(shell pkg-config --cflags libdrm)
|
||||
|
||||
egl_compositor_objs = egl-compositor.o evdev.o cairo-util.o
|
||||
egl-compositor.so : CFLAGS += $(EAGLE_CFLAGS) $(shell pkg-config --cflags libpng cairo gdk-pixbuf-2.0)
|
||||
egl-compositor.so : LDLIBS += $(EAGLE_LDLIBS) $(shell pkg-config --libs libpng cairo gdk-pixbuf-2.0) -rdynamic -lrt
|
||||
|
||||
egl-compositor.so : $(egl_compositor_objs)
|
||||
|
||||
glx_compositor_objs = glx-compositor.o
|
||||
glx-compositor.so : LDLIBS += -lGL
|
||||
|
||||
glx-compositor.so : $(glx_compositor_objs)
|
||||
|
||||
|
||||
libwayland.so $(compositors) :
|
||||
gcc -o $@ $^ $(LDLIBS) -shared
|
||||
|
||||
flower_objs = flower.o wayland-glib.o cairo-util.o
|
||||
window_objs = window.o gears.o wayland-glib.o cairo-util.o
|
||||
screenshot_objs = screenshot.o wayland-glib.o
|
||||
|
||||
$(clients) : CFLAGS += $(shell pkg-config --cflags cairo glib-2.0)
|
||||
$(clients) : LDLIBS += $(shell pkg-config --libs cairo glib-2.0) -lrt
|
||||
|
||||
window : CFLAGS += $(EAGLE_CFLAGS)
|
||||
window : LDLIBS += $(EAGLE_LDLIBS)
|
||||
|
||||
define client_template
|
||||
$(1): $$($(1)_objs) libwayland.so
|
||||
endef
|
||||
|
||||
$(foreach c,$(clients),$(eval $(call client_template,$(c))))
|
||||
|
||||
$(clients) :
|
||||
gcc -o $@ -L. -lwayland $(LDLIBS) $^
|
||||
|
||||
clean :
|
||||
rm -f $(clients) wayland *.o *.so
|
65
Makefile.in
Normal file
65
Makefile.in
Normal file
@ -0,0 +1,65 @@
|
||||
CFLAGS = @GCC_CFLAGS@
|
||||
|
||||
clients = flower window screenshot
|
||||
compositors = egl-compositor.so glx-compositor.so
|
||||
|
||||
all : wayland libwayland.so $(compositors) $(clients)
|
||||
|
||||
wayland_objs = \
|
||||
wayland.o \
|
||||
event-loop.o \
|
||||
connection.o \
|
||||
wayland-util.o
|
||||
|
||||
wayland : CFLAGS += @FFI_CFLAGS@
|
||||
wayland : LDLIBS += @FFI_LIBS@ -ldl -rdynamic
|
||||
|
||||
wayland : $(wayland_objs)
|
||||
gcc -o $@ $(LDLIBS) $(wayland_objs)
|
||||
|
||||
libwayland_objs = \
|
||||
wayland-client.o \
|
||||
connection.o \
|
||||
wayland-util.o
|
||||
|
||||
libwayland.so : $(libwayland_objs)
|
||||
|
||||
$(compositors) $(clients) : CFLAGS += @LIBDRM_CFLAGS@
|
||||
|
||||
egl_compositor_objs = egl-compositor.o evdev.o cairo-util.o
|
||||
egl-compositor.so : CFLAGS += @EGL_COMPOSITOR_CFLAGS@
|
||||
egl-compositor.so : LDLIBS += @EGL_COMPOSITOR_LIBS@ -rdynamic -lrt
|
||||
|
||||
egl-compositor.so : $(egl_compositor_objs)
|
||||
|
||||
glx_compositor_objs = glx-compositor.o
|
||||
glx-compositor.so : CFLAGS += @GL_COMPOSITOR_CFLAGS@
|
||||
glx-compositor.so : LDLIBS += @GL_COMPOSITOR_LIBS@
|
||||
|
||||
glx-compositor.so : $(glx_compositor_objs)
|
||||
|
||||
|
||||
libwayland.so $(compositors) :
|
||||
gcc -o $@ $^ $(LDLIBS) -shared
|
||||
|
||||
flower_objs = flower.o wayland-glib.o cairo-util.o
|
||||
window_objs = window.o gears.o wayland-glib.o cairo-util.o
|
||||
screenshot_objs = screenshot.o wayland-glib.o
|
||||
|
||||
$(clients) : CFLAGS += @CLIENT_CFLAGS@
|
||||
$(clients) : LDLIBS += @CLIENT_LIBS@ -lrt
|
||||
|
||||
define client_template
|
||||
$(1): $$($(1)_objs) libwayland.so
|
||||
endef
|
||||
|
||||
$(foreach c,$(clients),$(eval $(call client_template,$(c))))
|
||||
|
||||
$(clients) :
|
||||
gcc -o $@ -L. -lwayland $(LDLIBS) $^
|
||||
|
||||
clean :
|
||||
rm -f $(clients) wayland *.o *.so
|
||||
|
||||
Makefile : Makefile.in
|
||||
./config.status
|
18
configure.ac
Normal file
18
configure.ac
Normal file
@ -0,0 +1,18 @@
|
||||
AC_INIT(wayland, 0.1)
|
||||
AC_PROG_CC
|
||||
|
||||
PKG_PROG_PKG_CONFIG()
|
||||
PKG_CHECK_MODULES(FFI, [libffi])
|
||||
PKG_CHECK_MODULES(LIBDRM, [libdrm])
|
||||
|
||||
PKG_CHECK_MODULES(EGL_COMPOSITOR, [eagle libpng cairo gdk-pixbuf-2.0])
|
||||
PKG_CHECK_MODULES(GL_COMPOSITOR, [gl x11])
|
||||
PKG_CHECK_MODULES(CLIENT, [eagle cairo glib-2.0])
|
||||
|
||||
if test $CC = gcc; then
|
||||
GCC_CFLAGS="-Wall -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden"
|
||||
fi
|
||||
AC_SUBST(GCC_CFLAGS)
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
Loading…
Reference in New Issue
Block a user