ifeq ($(OS),Windows_NT)
	TOOLPATH=$(CGATE_HOME)/bin/
	INCLUDEPATH=$(CGATE_HOME)/sdk/include/
	LIBPATH=$(CGATE_HOME)/sdk/lib/
	LINKFLAGS = -L$(LIBPATH)
	INCLUDEFLAGS = -I$(INCLUDEPATH)
else
	CGATE_HOME ?= /opt/moex/cgate
	OUTDIR ?= ./build
	TOOLPATH=$(CGATE_HOME)/bin/
	INCLUDEPATH=$(CGATE_HOME)/include/
	LIBPATH=$(CGATE_HOME)/lib/
	LINKFLAGS = -L$(LIBPATH) -Wl,-rpath,$(LIBPATH)
	INCLUDEFLAGS = -I$(INCLUDEPATH) -I$(OUTDIR)
	LIBS=-lcgate 
endif

all: repl_sample repl_resume_sample send_sample
clean:
	rm -rf $(OUTDIR)

$(OUTDIR)/log:
	mkdir -p $(OUTDIR)/log

$(OUTDIR)/%.ini: %.ini
	cp $< $@

$(OUTDIR)/ini: ini
	cp -r ini $(OUTDIR)

DIRS=$(OUTDIR)/log $(OUTDIR)/ini 

repl_sample: $(DIRS) $(OUTDIR)/repl $(OUTDIR)/repl.ini
repl_resume_sample: $(DIRS) $(OUTDIR)/repl_resume $(OUTDIR)/repl_resume.ini
send_sample: $(DIRS) $(OUTDIR)/send $(OUTDIR)/send.ini


$(OUTDIR)/repl: repl.c 
	gcc $(INCLUDEFLAGS) $(LINKFLAGS) -o $(OUTDIR)/repl repl.c $(LIBS)

$(OUTDIR)/repl_resume: repl_resume.c 
	gcc $(INCLUDEFLAGS) $(LINKFLAGS) -o $(OUTDIR)/repl_resume repl_resume.c $(LIBS)

$(OUTDIR)/send: send.c $(OUTDIR)/forts_messages.h 
	gcc $(INCLUDEFLAGS) $(LINKFLAGS) -o $(OUTDIR)/send send.c $(LIBS)

$(OUTDIR)/forts_messages.h: forts_messages.ini
	$(TOOLPATH)schemetool makesrc -o $(OUTDIR)/forts_messages.h forts_messages.ini message

