PROGRAM = libiax2

OBJS = iax.o iax2-parser.o md5.o options.o

WIN_OBJS = winextra.o
OBJS += $(WIN_OBJS)

LIBS = -lws2_32

$(PROGRAM).a : ${OBJS}
	@echo Assembling library $(PROGRAM).a
	ar cr $(PROGRAM).a $(OBJS)

$(PROGRAM).dll : ${OBJS}
	dllwrap -o $(PROGRAM).dll --export-all-symbols --output-def $(PROGRAM).def $(OBJS) $(LDFLAGS) $(LIBS)
	dllwrap -o $(PROGRAM).dll --def $(PROGRAM).def $(OBJS) $(LDFLAGS) $(LIBS)

install-strip : $(PROGRAM).dll
	strip $(PROGRAM).dll

DEFINES += -DWIN32

debug_dll: DEFINES += -DDEBUG_SUPPORT -DDEBUG_DEFAULT

debug_dll: PROGRAM=libiax2-debug

.PHONY: debug_dll
debug_dll: $(PROGRAM).dll

INCLUDES = -I/c/code/library/gsm-1.0-pl10/inc

LDFLAGS += -I/c/code/library/gsm-1.0-pl10/src

ALL_CFLAGS = $(CFLAGS) $(DEFINES) $(INCLUDES)

%.o : %.c
	@echo Compiling $< into $*.o
	$(CC) $(ALL_CFLAGS) -c $<

winiphone : $(PROGRAM) winiphone.o
	$(CC) -o winiphone $(PROGRAM) winiphone.o $(LDFLAGS) -lgsm

.PHONY: clean
clean :
	-rm winiphone.o winiphone
