LIB = libprocstate
SRCS = libprocstate.c

include ../makefile.defs

SO_LIB = $(LIB).so
SO_OBJS = $(SRCS:.c=.do)
.c.do:
	$(CC) -c $(CFLAGS) $(SO_CFLAGS) -o $@ $<
.SUFFIXES: .c .do
A_LIB = $(LIB).a
A_OBJS = $(SRCS:.c=.o)
.c.o:
	$(CC) -c $(CFLAGS) $(A_CFLAGS) -o $@ $<
.SUFFIXES: .c .o

CFLAGS += -I../include
SO_CFLAGS =
A_CFLAGS =

all: $(SO_LIB) $(A_LIB)

$(SO_LIB): $(SO_OBJS)
	$(CC) $(LFLAGS) -shared -Wl,-soname,$@.$(V_MAJOR) -o $@.$(VERSION) $^
	ln -sf $@.$(VERSION) $@
	ln -sf $@ $@.$(V_MAJOR)

$(A_LIB): $(A_OBJS)
	ar rcs $@ $^

install: all
	install -o root -g root -m 644 $(SO_LIB).$(VERSION) $(LIBDIR)
	ln -sf $(LIBDIR)/$(LIB).$(VERSION) $(LIBDIR)/$(LIB)
	install -o root -g root -m 644 $(A_LIB) $(LIBDIR)
	$(LDCONFIG)

clean:
	rm -f *.o $(SO_LIB)* $(A_LIB) $(SO_OBJS) $(A_OBJS)
