#########################################################################
# 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