all: libyeso-xlib.a shlibs

CFLAGS = -Wall -Wno-cpp -std=gnu99 -g -Os -I.

YESO_OBJS = yeso-pic.o png.o jpeg.o ppmp6-write.o ppmp6-read.o readfont.o ypathsea.o
XLIB_OBJS = yeso-xlib.o $(YESO_OBJS)

clean:
	$(RM) *.a *.o *.pyc so/*

*.o: yeso.h
libyeso-xlib.a: $(XLIB_OBJS)
	ar rcsDv $@ $^

# This is a kind of crappy way of building shared libraries — a bunch
# of duplication with earlier-mentioned stuff — but it works for now.
# I can’t use the existing .o files (on amd64) because they weren’t
# compiled with -fPIC.  (Maybe I should change that, dunno.)

XLIB_SRCS = yeso-pic.c png.c jpeg.c ppmp6-write.c ppmp6-read.c readfont.c ypathsea.c yeso-xlib.c
FB_SRCS = yeso-pic.c png.c jpeg.c ppmp6-write.c ppmp6-read.c readfont.c ypathsea.c yeso-fb.c

shlibs: so/libyeso-xlib.so
so/libyeso-xlib.so: $(XLIB_SRCS) yeso.h so
	$(CC) $(CFLAGS) -shared -fPIC $(XLIB_SRCS) -o $@ -lX11 -lXext -lpng -ljpeg $(LDLIBS)
so:
	mkdir so
