#########################################################################
# COMMON MGEN MAKEFILE STUFF
#

SHELL=/bin/sh

.SUFFIXES: .cpp -sim.o $(.SUFFIXES)

PROTOLIB = ../protolib
COMMON = ../common
UNIX = ../unix

INCLUDES = $(SYSTEM_INCLUDES) -I$(UNIX) -I$(COMMON) -I$(PROTOLIB)/common

CFLAGS = -g -DPROTO_DEBUG -DHAVE_GPS -DUNIX -Wall -Wcast-align -pedantic -O -fPIC $(SYSTEM_HAVES) $(INCLUDES)

LDFLAGS = $(SYSTEM_LDFLAGS)

LIBS = $(SYSTEM_LIBS) -lm -pthread

TARGETS = mgen mpmgr

# Rule for C++ .cpp extension
.cpp.o:
	$(CC) -c $(CFLAGS) -o $*.o $*.cpp

all:    mgen mpmgr
    
# MGEN depends upon the NRL Protean Group's development library
LIBPROTO = $(PROTOLIB)/unix/libProtokit.a
$(PROTOLIB)/unix/libProtokit.a: 
	cd $(PROTOLIB)/unix; $(MAKE) -f Makefile.$(SYSTEM) libProtokit.a

MGEN_SRC = $(COMMON)/mgen.cpp $(COMMON)/mgenEvent.cpp \
           $(COMMON)/mgenFlow.cpp $(COMMON)/mgenMsg.cpp \
           $(COMMON)/mgenSocketList.cpp $(COMMON)/mgenPattern.cpp \
           $(COMMON)/gpsPub.cpp
          
MGEN_OBJ = $(MGEN_SRC:.cpp=.o)

    
MGEN_APP_SRC = $(COMMON)/mgenApp.cpp
MGEN_APP_OBJ = $(MGEN_APP_SRC:.cpp=.o) 

mgen:    $(MGEN_APP_OBJ) $(MGEN_OBJ) $(LIBPROTO)
	$(CC) -g $(CFLAGS) -o $@ $(MGEN_APP_OBJ) $(MGEN_OBJ) $(LDFLAGS) $(LIBS) $(LIBPROTO) 


MPMGR_SRC = $(COMMON)/mpmgr.cpp $(COMMON)/gpsPub.cpp

MPMGR_OBJ = $(MPMGR_SRC:.cpp=.o)

mpmgr:    $(MPMGR_OBJ) $(LIBPROTO)
	$(CC) -g $(CFLAGS) -o $@ $(MPMGR_OBJ) $(LDFLAGS) $(LIBS) $(LIBPROTO) 
     	    
clean:	
	rm -f $(COMMON)/*.o  $(UNIX)/*.o $(UNIX)/mgen $(UNIX)/mpmgr $(NS)/*.o;
	cd $(PROTOLIB)/unix; $(MAKE) -f Makefile.common clean

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.



syntax highlighted by Code2HTML, v. 0.9.1