CC = egcs
LD = egcs
AR = ar
ARFLAGS = r
NDDSGEN = nddsgen
SYSLIBS = -lm -lpthread

INSTALL_DIR = $(NOMAD_HOME)

DEFINES = 

MODULE = MPlanner

INCLUDES = -I$(NDDSHOME)/include/unix \
           -I$(NDDSHOME)/include/share \
	   -I$(INSTALL_DIR)/include

LIBS = 	$(NDDSHOME)/lib/i86Linux5.1/libndds.a    \
       	$(NDDSHOME)/lib/i86Linux5.1/libutilsip.a \
       	$(NDDSHOME)/lib/i86Linux5.1/libutilsxx.a \
	$(SYSLIBS)

ARCHIVE      = lib$(MODULE)Ndds.a

all : $(ARCHIVE) #java
	/bin/rm -fr h/ objs/

install: all
	/bin/rm -fr h/ objs/
	cp $(ARCHIVE)  $(INSTALL_DIR)/lib/`uname`/.
	cp mPlannerMsgs.h $(INSTALL_DIR)/include/.
	cp PlanParams.h $(INSTALL_DIR)/include/.
#	cp -R $(MODULE) $(INSTALL_DIR)/java/.

java:
	java Jrpcgen -P $(MODULE) -n mPlannerMsgs.x
	java Jrpcgen -P $(MODULE) -n PlanParams.x	
	cp Makefile.java.rules $(MODULE)/Makefile
	$(MAKE) -C $(MODULE)
	
$(ARCHIVE) : PlanParams.o mPlannerMsgs.o 
	$(AR) $(ARFLAGS) $(ARCHIVE) PlanParams.o mPlannerMsgs.o

PlanParams.o : PlanParams.c PlanParams.h
	$(CC) -o $@ $(DEFINES) $(INCLUDES) -c $<

PlanParams.c : PlanParams.x
	$(NDDSGEN) PlanParams.x -publicationType MP_POSE -publicationType straightPlan -publicationType spiralPlan -publicationType wayptPlan -publicationType manPlan -publicationType PlanParams -replace

PlanParams.h : PlanParams.x
	$(NDDSGEN) PlanParams.x -publicationType MP_POSE -publicationType straightPlan -publicationType spiralPlan -publicationType wayptPlan -publicationType manPlan -publicationType PlanParams -replace

mPlannerMsgs.o : mPlannerMsgs.c mPlannerMsgs.h
	$(CC) -o $@ $(DEFINES) $(INCLUDES) -c $<

mPlannerMsgs.c : mPlannerMsgs.x
	$(NDDSGEN) mPlannerMsgs.x -publicationType mPlannerRequest -publicationType mPlannerReply -publicationType mPlannerComplete -publicationType mPlannerReport -replace

mPlannerMsgs.h : mPlannerMsgs.x
	$(NDDSGEN) mPlannerMsgs.x -publicationType mPlannerRequest -publicationType mPlannerReply -publicationType mPlannerComplete -publicationType mPlannerReport -replace

clean:
	/bin/rm -f mPlannerMsgs.o PlanParams.o core $(ARCHIVE) mPlannerMsgs.c mPlannerMsgs.h PlanParams.c PlanParams.h

