1
2DESTDIR  =
3LIBDIR   = lib
4
5CC       ?= gcc
6CFLAGS   = -I${PWD}/include -Wall -std=c99 -I$(LOCALBASE)/include -L$(LOCALBASE)/lib
7
8OBJS     = src/core/conf.o src/core/glue.o src/core/log.o
9LIBS     = libX11.so libGL.so
10
11###-include config.make
12
13.PHONY: all clean install
14all: $(LIBS) yukon-core-lib sysconf
15
16%.o: %.c
17	$(CC) $(CFLAGS) -fPIC -c -o $@ $<
18
19$(LIBS):
20	$(CC) -shared -o $@.native -Wl,-soname,$@.native
21	$(CC) $(CFLAGS) -fPIC -shared -o $@ src/libs/$(@:%.so=%.c) $@.native
22	rm -f $@.native
23
24yukon-core-lib: $(OBJS)
25	$(CC) -shared -o $@ $(OBJS) -lseom -L${LOCALBASE}/lib
26
27sysconf:
28	echo 'LDPATH="$(PREFIX)/$(LIBDIR)/yukon"' > $@
29
30soname = `objdump -x $(PREFIX)/$(LIBDIR)/$(1) | grep SONAME | awk '{ print $$2 }'`
31install: $(LIBS) yukon-core-lib
32	install -m 755 -d $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/$(LIBDIR)/yukon
33	install -m 755 src/scripts/yukon $(DESTDIR)$(PREFIX)/bin
34	install -m 755 yukon-core-lib $(DESTDIR)$(PREFIX)/$(LIBDIR)/yukon
35	ln -sf $(LOCALBASE)/lib/libX11.so.$(LIBX11_MAJOR) \
36	    $(DESTDIR)$(PREFIX)/$(LIBDIR)/yukon/libX11.so.native
37	ln -sf $(LOCALBASE)/lib/libGL.so.$(LIBGL_MAJOR) \
38	    $(DESTDIR)$(PREFIX)/$(LIBDIR)/yukon/libGL.so.native
39	install -m 755 libX11.so \
40	    $(DESTDIR)$(PREFIX)/$(LIBDIR)/yukon/libX11.so.$(LIBX11_MAJOR)
41	install -m 755 libGL.so \
42	    $(DESTDIR)$(PREFIX)/$(LIBDIR)/yukon/libGL.so.$(LIBGL_MAJOR)
43
44clean:
45	rm -f $(OBJS) $(LIBS) yukon-core-lib sysconf
46
47mrproper: clean
48	rm -f config.make
49