#############################################################
# Makefile for libosip2.a
#############################################################

TOPDIR=../../../
include $(TOPDIR)Rules.mak

CFLAGS+=-DHAVE_CONFIG_H -DOSIP_MT -DHAVE_PTHREAD -DHAVE_SEMAPHORE_H -I. -I../../include/ -I../../.

LIBOSIP2=libosip2.a
LIBOSIP2_VERS=3.1.0
LIBOSIP2_SHARED=libosip2.so.$(LIBOSIP2_VERS)

LIBOSIP2_PARSER=libosipparser2.a
LIBOSIP2_PARSER_PATH=../osipparser2/libosipparser2.a
EX_LIBS = -L$(TOPDIR)lib/ -lpthread

OBJS    := ict_fsm.o ist_fsm.o nict_fsm.o \
	nist_fsm.o ict.o ist.o nict.o nist.o fsm_misc.o osip.o \
	osip_transaction.o osip_event.o port_fifo.o osip_dialog.o \
	osip_time.o port_sema.o port_thread.o port_condv.o

all: $(LIBOSIP2)

$(OBJS): %.o : %.c
	$(CC) $(CFLAGS) -c $< -o $@
	$(STRIPTOOL) -x -R .note -R .comment $*.o

shared: all
	$(LD) $(LDFLAGS) -soname=$(LIBOSIP2_SHARED) \
		-o $(LIBOSIP2_SHARED) --whole-archive $(LIBOSIP2) \
		--no-whole-archive $(TOPDIR)libc/misc/internals/interp.o \
		-L$(TOPDIR)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC) $(LIBOSIP2_PARSER_PATH) $(EX_LIBS);
	#$(INSTALL) -d $(TOPDIR)lib
	#$(RM) $(TOPDIR)lib/$(LIBOSIP2_SHARED)
	#$(INSTALL) -m 644 $(LIBOSIP2_SHARED) $(TOPDIR)lib
	$(INSTALL) -m 644 $(LIBOSIP2_SHARED) ../../.


$(LIBOSIP2) ar-target: $(OBJS)
	$(AR) $(ARFLAGS) $(LIBOSIP2) $(OBJS)
	#$(INSTALL) -d $(TOPDIR)lib
	#$(RM) $(TOPDIR)lib/$(LIBOSIP2)
	#$(INSTALL) -m 644 $(LIBOSIP2) $(TOPDIR)lib
	$(INSTALL) -m 644 $(LIBOSIP2) ../../.

romfs:
	$(INSTALL) -m 644 $(LIBOSIP2_SHARED) $(TOPDIR)lib

$(OBJS): Makefile

clean:
	$(RM) *.[oa] $(LIBOSIP2_SHARED)

