include     ../Make.defs
MAJOR       = 1
MINOR       = 0
REVISION    = 0
VERSION     = ${MAJOR}.${MINOR}.${REVISION}

HDRS        = ./pthread_socket.h ./pthread_io_delay.h

ifeq (${SENDMSG},yes )
LIB_OBJECTS =   ${OBJDIR}/accept.o \
                ${OBJDIR}/connect.o \
                ${OBJDIR}/listen.o \
                ${OBJDIR}/read-write.o \
                ${OBJDIR}/recv.o \
                ${OBJDIR}/recvfrom.o \
                ${OBJDIR}/select.o \
                ${OBJDIR}/send.o \
                ${OBJDIR}/sendto.o \
                ${OBJDIR}/socket.o \
                ${OBJDIR}/sendmsg.o \
                ${OBJDIR}/recvmsg.o \
                ${OBJDIR}/sys_io.o \
                ${OBJDIR}/noblock.o
else
LIB_OBJECTS =   ${OBJDIR}/accept.o \
                ${OBJDIR}/connect.o \
                ${OBJDIR}/listen.o \
                ${OBJDIR}/read-write.o \
                ${OBJDIR}/recv.o \
                ${OBJDIR}/recvfrom.o \
                ${OBJDIR}/select.o \
                ${OBJDIR}/send.o \
                ${OBJDIR}/sendto.o \
                ${OBJDIR}/socket.o \
                ${OBJDIR}/sys_io.o \
                ${OBJDIR}/noblock.o
endif

ifeq (${ISELF},yes)
    CFLAGS         += ${DEFINES} -D_ELF_
    TARGET_LIB      = ../lib/${SOCKLIB}.so.${VERSION}
    LINK            = ../lib/${SOCKLIB}.so.1
else
    TARGET_LIB      = ../lib/${SOCKLIB}.a
endif

${TARGET_LIB}: ${LIB_OBJECTS}

${OBJDIR}/accept.o:     accept.c ${HDRS}
${OBJDIR}/bind.o:       bind.c ${HDRS}
${OBJDIR}/connect.o:    connect.c ${HDRS}
${OBJDIR}/listen.o:     listen.c ${HDRS}
${OBJDIR}/read-write.o: read-write.c ${HDRS}
${OBJDIR}/recv.o:       recv.c ${HDRS}
${OBJDIR}/recvfrom.o:   recvfrom.c ${HDRS}
${OBJDIR}/select.o:     select.c ${HDRS}
${OBJDIR}/send.o:       send.c ${HDRS}
${OBJDIR}/sendto.o:     sendto.c ${HDRS}
${OBJDIR}/socket.o:     socket.c ${HDRS}
${OBJDIR}/sys_io.o:     sys_io.S ${HDRS}
${OBJDIR}/noblock.o:    noblock.c ${HDRS}
ifeq (${SENDMSG},yes )
${OBJDIR}/sendmsg.o:    sendmsg.c ${HDRS}
${OBJDIR}/recvmsg.o:    recvmsg.c ${HDRS}
endif

all: ${TARGET_LIB} install
	@echo + building ${TARGET_LIB}
ifeq (${ISELF},yes)
	@echo + building ${TARGET_LIB}
	@rm -f ${TARGET_LIB} ${LINK}
	@${CC} -shared -Wl,-soname,${LINK} -o ${TARGET_LIB} ${LIB_OBJECTS}
	@ln -s ${TARGET_LIB} ${LINK}
else
	@ar r ${TARGET_LIB} ${LIB_OBJECTS}    
endif

install:
	@cp -f pthread_socket.h ${INCDIR}

clobber: clean
	@rm -f ${TARGET_LIB} ${LINK} ${INCDIR}/pthread_socket.h ${LIB_OBJECTS}

clean:
	@rm -f *.bak *.rem *~
