CYCC := cyclone
CYC_FLAGS := -O3 -I../lib $(DEFINES)

ifdef DEBUG
CYC_FLAGS += -g -detailedlocation -pp -save-c
endif
ifdef OPT
CYC_FLAGS += -DNDEBUG
endif

LIBS := -L../lib -lcycutil

DALI_LIB_DIR = ../dali-lib
DALI_INC_DIR = ../dali-include

ifdef WINDIR
EXE=.exe
else
EXE=
endif

ALLFILES := sender receiver mnping tracereceiver httpreceiver throttleproxy
ALLCFILES := $(addsuffix .c,$(ALLFILES))

all: sender$(EXE) receiver$(EXE) httpreceiver$(EXE) tracereceiver$(EXE) mnping$(EXE)
	$(MAKE) -C ttcp
	$(MAKE) -C mpgsender
	$(MAKE) -C mnping-c

# sender$(EXE): sender.o
# 	$(CYCC) $(CYC_FLAGS) -o $@ $^ $(LIBS)

# receiver$(EXE): receiver.o
# 	$(CYCC) $(CYC_FLAGS) -o $@ $^

# mnping$(EXE): mnping.o
# 	$(CYCC) $(CYC_FLAGS) -o $@ $^

# tracereceiver$(EXE): tracereceiver.o
# 	$(CYCC) $(CYC_FLAGS) -o $@ $^

# throttleproxy$(EXE): throttleproxy.o
# 	$(CYCC) $(CYC_FLAGS) -o $@ $^

httpreceiver$(EXE): httpreceiver.o
	$(CYCC) $(CYC_FLAGS) -v -o $@ $^ $(LIBS) -L$(DALI_LIB_DIR) -lcycweb -lxml -lcrypt -ldvmmpeg -ldvmbasic

%$(EXE): %.o
	$(CYCC) $(CYC_FLAGS) -v -o $@ $^ $(LIBS)

%.o %.c: %.cyc
	$(CYCC) $(CYC_FLAGS) -o $@ -c $<

clean:
	$(RM) *.o *~ sender$(EXE) receiver$(EXE) httpreceiver$(EXE) throttleproxy$(EXE) tracereceiver$(EXE) mnping$(EXE)
	$(MAKE) -C ttcp clean
	$(MAKE) -C mpgsender clean
	$(MAKE) -C mnping-c clean

# DEPENDENCIES

%.d: %.cyc
	$(CYCC) -M -MG $(CYC_FLAGS) $< > $@

full_clean: clean
	$(RM) *.d $(ALLCFILES)

ifndef NODEPS
-include $(addsuffix .d, $(ALLFILES))
endif
