#
#  Makefile for Ejemplo2Omnetpp
#
#  ** This file was automatically generated by the command:
#  opp_makemake -f
#

# Name of target to be created (-o option)
TARGET = Ejemplo2Omnetpp

# User interface (uncomment one) (-u option)
# USERIF_LIBS=$(CMDENV_LIBS)
USERIF_LIBS=$(TKENV_LIBS)

# .ned or .h include paths with -I
INCLUDE_PATH=

# misc additional object and library files to link
EXTRA_OBJS=

# object files from other directories to link with (wildcard needed to prevent "no such file *.o" errors)
EXT_DIR_OBJS=

# time stamps of other directories (used as dependency)
EXT_DIR_TSTAMPS=

# Additional libraries (-L option -l option)
LIBS=

#------------------------------------------------------------------------------

# Generic definitions. To avoid redundancies across Makefiles, you can
# import them from a common file -- see opp_makemake -c flag.
NEDC=/usr/local/omnetpp-3.3/bin/nedtool
MSGC=opp_msgc
CXX=g++
CC=/usr/bin/g++
AR=ar cr
SHLIB_LD=g++ -dynamiclib -undefined dynamic_lookup 
MAKEDEPEND=opp_makedep -Y --objdirtree

CFLAGS=-Wno-long-double -I/usr/include/malloc -fPIC   -DWITH_PARSIM -DWITH_NETBUILDER
NEDCFLAGS=-Wno-unused
LDFLAGS=-bind_at_load
EXE_SUFFIX=

WITH_PARSIM=yes
WITH_NETBUILDER=yes

OMNETPP_INCL_DIR=/usr/local/omnetpp-3.3/include
OMNETPP_LIB_DIR=/usr/local/omnetpp-3.3/lib

TK_LIBS=-L/sw/lib -ltk8.4 -ltcl8.4
MPI_LIBS=
XML_LIBS=-lxml2
SYS_LIBS=-lstdc++ 
SYS_LIBS_PURE=-ldl -lsocket -lnsl -lm $(shell $(CXX) -print-file-name=libstdc++.a)

# User interface libs
CMDENV_LIBS=-lenvir -lcmdenv
TKENV_LIBS=-lenvir -ltkenv $(TK_LIBS)

# Simulation kernel
KERNEL_LIBS=-lsim_std

ifeq ($(WITH_NETBUILDER),yes)
KERNEL_LIBS += -lnedxml $(XML_LIBS)
endif

ifeq ($(WITH_PARSIM),yes)
KERNEL_LIBS += $(MPI_LIBS)
endif

# Simulation kernel and user interface libraries
OMNETPP_LIBS=-L$(OMNETPP_LIB_DIR) $(USERIF_LIBS) $(KERNEL_LIBS) $(SYS_LIBS)

COPTS=$(CFLAGS) $(INCLUDE_PATH) -I$(OMNETPP_INCL_DIR)
NEDCOPTS=$(COPTS) $(NEDCFLAGS)
MSGCOPTS= $(INCLUDE_PATH)

#------------------------------------------------------------------------------

# subdirectories to recurse into
SUBDIRS= 

# object files in this directory
OBJS= ejemplo1_n.o   servidor.o usuarios.o

# header files generated (from msg files)
GENERATEDHEADERS= 

#------------------------------------------------------------------------------

$(TARGET): $(OBJS) $(EXTRA_OBJS) $(EXT_DIR_TSTAMPS) Makefile
	$(CXX) $(LDFLAGS) $(OBJS) $(EXTRA_OBJS) $(EXT_DIR_OBJS) $(LIBS) $(OMNETPP_LIBS) -o $(TARGET)
	echo>.tstamp

$(OBJS) : $(GENERATEDHEADERS)


purify: $(OBJS) $(EXTRA_OBJS) $(EXT_DIR_TSTAMPS) Makefile
	purify $(CXX) $(LDFLAGS) $(OBJS) $(EXTRA_OBJS) $(EXT_DIR_OBJS) $(LIBS) -L$(OMNETPP_LIB_DIR) $(KERNEL_LIBS) $(USERIF_LIBS) $(SYS_LIBS_PURE) -o $(TARGET).pure

.PHONY: subdirs $(SUBDIRS)

subdirs: $(SUBDIRS)

ejemplo1_n.o: ejemplo1_n.cc
	$(CXX) -c $(NEDCOPTS) ejemplo1_n.cc

ejemplo1_n.cc: ejemplo1.ned
	$(NEDC) $(INCLUDE_PATH) ejemplo1.ned

servidor.o: servidor.cc
	$(CXX) -c $(COPTS) servidor.cc

usuarios.o: usuarios.cc
	$(CXX) -c $(COPTS) usuarios.cc


#doc: neddoc doxy

#neddoc:
#	opp_neddoc -a

#doxy: doxy.cfg
#	doxygen doxy.cfg

generateheaders: $(GENERATEDHEADERS)
	for i in $(SUBDIRS); do (cd $$i && $(MAKE) generateheaders) || exit 1; done

clean:
	rm -f $(TARGET)$(EXE_SUFFIX)
	rm -f *.o *_n.cc *_n.h *_m.cc *_m.h .tstamp
	rm -f *.vec *.sca
	for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean); done

depend:
	$(MAKEDEPEND) $(INCLUDE_PATH) -- *.cc
	# $(MAKEDEPEND) $(INCLUDE_PATH) -fMakefile.in -- *.cc
	for i in $(SUBDIRS); do (cd $$i && $(MAKE) depend) || exit 1; done

makefiles:
	# recreate Makefile
	opp_makemake -f  
	for i in $(SUBDIRS); do (cd $$i && $(MAKE) makefiles) || exit 1; done

makefile-ins:
	# recreate Makefile.in
	opp_makemake -f -m  
	for i in $(SUBDIRS); do (cd $$i && $(MAKE) makefile-ins) || exit 1; done

# "re-makemake" and "re-makemake-m" are deprecated, historic names of the above two targets
re-makemake: makefiles
re-makemake-m: makefile-ins


# DO NOT DELETE THIS LINE -- make depend depends on it.
ejemplo1_n.o: ejemplo1_n.cc
servidor.o: servidor.cc
usuarios.o: usuarios.cc
