# 
# This is a basic makefile that uses a flat directory structure. It could be
# expanded to support multiple subdirectories and/or libraries
#

#.SILENT: all lib test steril clean tar dist link .DEFAULT
TOPDIR=.

ROOTDIR=true
SUBLIBFILES=$(LIBFILES_$(PWD))
TRANSDIR=./share/locale/
TRANSTEMPLATE=iwremote.pot

all:	systarget

parser/idlparser.yy.h: parser/idlparser.y	
parser/idlparser.cc: parser/idlparser.yy.hh parser/idlparser.lex
parser/idlparser.o: parser/idlparser.yy.hh parser/idlparser.lex

include $(TOPDIR)/conf/Makefile.common
link::	
	@echo $(GRN)[LN -s]$(NOR) iwidl
	@cd $(BINDIR); rm -f iwidl; ln -s $(SRCHOME)/src/iwidl 
	@echo $(GRN)[LN -s]$(NOR) iwrpcgenproject
	@cd $(BINDIR); rm -f iwrpcgenproject; ln -s $(SRCHOME)/iwrpcgenproject

systarget: iwidl lib

testclient: iwidl lib testclient.o testcommon.o
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

testserver: iwidl lib testserver.o testcommon.o
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

sensortestserver sensortestclient: iwidl lib
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

dotsearch:
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

echotestclient echotestserver: iwidl lib
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

calctestclient calctestserver: iwidl lib
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@


PARSEROBJECTS= parser/idl.o parser/idlparser.o parser/idlparser.yy.o src/cppoutput.o src/idloutput.o src/declaration.o src/namespace.o   src/enum.o   src/class.o      src/function.o src/translationunit.o

iwidl: $(PARSEROBJECTS)
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

rpctest test poread:	lib
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@

remotetest: lib testserver.o testcommon.o testclient.o ./src/remotetest.o
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C src $@
	
plugins: lib
	@echo $(VIO)[MAKE]$(NOR) $@
	@$(MAKE) -C plugins all