# Makefile
# This file holds the make rules for the Telephony Engine test cases

CXX := g++ -Wall
SED := sed
DEFS :=
INCLUDES := -I../..
CFLAGS := -O0 -fno-check-new  -fno-exceptions -fPIC -DHAVE_GCC_FORMAT_CHECK 
LDFLAGS:= 
YATELIBS:= -L../.. -lyate 
MODFLAGS:= -export-dynamic -shared -Wl,--unresolved-symbols=ignore-in-shared-libs
MODSTRIP:= -Wl,--retain-symbols-file,/dev/null

MKDEPS  := ../../config.status
PROGS = randcall.yate
LIBS =
OBJS =

LOCALFLAGS =
LOCALLIBS =
COMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CFLAGS)
LINK = $(CXX) $(LDFLAGS)
MODLINK = $(CXX) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)

prefix = /usr
exec_prefix = ${prefix}

# include optional local make rules
-include YateLocal.mak

.PHONY: all
all: $(LIBS) $(PROGS)

.PHONY: strip
strip: all
	strip --strip-debug --discard-locals $(PROGS)

.PHONY: clean
clean:
	@-$(RM) $(PROGS) $(LIBS) $(OBJS) core 2>/dev/null

%.o: ./%.cpp $(MKDEPS) ../../yateclass.h ../../yatengine.h
	$(COMPILE) -c $<

Makefile: ./Makefile.in $(MKDEPS)
	cd ../.. && ./config.status

lib%.so: %.o
	$(LINK) -shared -o $@ $^

%.yate: ./%.cpp $(MKDEPS) $(INCFILES)
	$(MODCOMP) -o $@ $(LOCALFLAGS) $< $(LOCALLIBS) $(YATELIBS)
