You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							71 lines
						
					
					
						
							2.0 KiB
						
					
					
				| 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 pointer background window
 | |
| compositors = egl-compositor.so glx-compositor.so
 | |
| 
 | |
| all : wayland libwayland.so $(compositors) $(clients)
 | |
| 
 | |
| wayland_objs =					\
 | |
| 	wayland.o				\
 | |
| 	event-loop.o				\
 | |
| 	connection.o				\
 | |
| 	hash.o					\
 | |
| 	input.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
 | |
| 
 | |
| libwayland.so : $(libwayland_objs)
 | |
| 
 | |
| $(compositors) $(clients) : CFLAGS += $(shell pkg-config --cflags libdrm)
 | |
| 
 | |
| egl_compositor_objs = egl-compositor.o
 | |
| egl-compositor.so : CFLAGS += $(EAGLE_CFLAGS)
 | |
| egl-compositor.so : LDLIBS += $(EAGLE_LDLIBS) -rdynamic
 | |
| 
 | |
| 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
 | |
| pointer_objs = pointer.o wayland-glib.o
 | |
| background_objs = background.o wayland-glib.o
 | |
| window_objs = window.o gears.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
 | |
| 
 | |
| background : CFLAGS += $(shell pkg-config --cflags gdk-pixbuf-2.0)
 | |
| background : LDLIBS += $(shell pkg-config --libs gdk-pixbuf-2.0)
 | |
| 
 | |
| 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
 | |
| 
 |