######################################################################### # COMMON MDP MAKEFILE STUFF # SHELL=/bin/sh .SUFFIXES: .cpp -sim.o $(.SUFFIXES) PROTOLIB = ../protolib COMMON = ../common UNIX = ../unix NS = ../ns INCLUDES = $(TCL_INCL_PATH) $(SYSTEM_INCLUDES) -I$(UNIX) -I$(COMMON) -I$(PROTOLIB)/common CFLAGS = -g -DPROTO_DEBUG -DUNIX -O -fPIC $(SYSTEM_HAVES) $(INCLUDES) LDFLAGS = $(SYSTEM_LDFLAGS) # Note: Even command line app needs X11 for Netscape post-processing LIBS = $(SYSTEM_LIBS) -lm XLIBS = -lXmu -lXt -lX11 #NOTE: TK_LIB must come before TCL_LIB for some reason TKLIBS = $(TK_LIB) $(TCL_LIB) TCL_SCRIPTS = ${TCL_SCRIPT_PATH}/init.tcl \ ${TK_SCRIPT_PATH}/tk.tcl \ ${TK_SCRIPT_PATH}/bgerror.tcl \ ${TK_SCRIPT_PATH}/button.tcl \ ${TK_SCRIPT_PATH}/dialog.tcl \ ${TK_SCRIPT_PATH}/entry.tcl \ ${TK_SCRIPT_PATH}/focus.tcl \ ${TK_SCRIPT_PATH}/listbox.tcl \ ${TK_SCRIPT_PATH}/menu.tcl \ ${TK_SCRIPT_PATH}/palette.tcl \ ${TK_SCRIPT_PATH}/scale.tcl \ ${TK_SCRIPT_PATH}/scrlbar.tcl \ ${TK_SCRIPT_PATH}/tearoff.tcl \ ${TK_SCRIPT_PATH}/text.tcl \ ${TK_SCRIPT_PATH}/optMenu.tcl TARGETS = mdp tkMdp # Rule for C++ .cpp extension .cpp.o: $(CC) -c $(CFLAGS) -o $*.o $*.cpp # MDP depends upon the NRL Protean Group's development library LIBPROTO = $(PROTOLIB)/unix/libProto.a $(PROTOLIB)/unix/libProto.a: cd $(PROTOLIB)/unix; $(MAKE) -f Makefile.$(SYSTEM) libProto.a NORM_SRC = $(COMMON)/normMessage.cpp $(COMMON)/normSession.cpp \ $(COMMON)/normNode.cpp $(COMMON)/normObject.cpp \ $(COMMON)/normSegment.cpp $(COMMON)/normBitmask.cpp \ $(COMMON)/normEncoder.cpp $(COMMON)/galois.cpp \ $(COMMON)/normFile.cpp NORM_OBJ = $(NORM_SRC:.cpp=.o) LIB_SRC = $(NORM_SRC) LIB_OBJ = $(LIB_SRC:.cpp=.o) libnorm.a: $(LIB_OBJ) $(AR) rcv $@ $(LIB_OBJ) $(RANLIB) $@ .cpp-sim.o: $(CC) -c $(CFLAGS) -DSIMULATE -o $*-sim.o $*.cpp SIM_SRC = $(NORM_SRC) $(COMMON)/normSimAgent.cpp SIM_OBJ = $(SIM_SRC:.cpp=-sim.o) libnormSim.a: $(SIM_OBJ) ar rcv $@ $(SIM_OBJ) ranlib $@ # (mdp) command-line file broadcaster/receiver APP_SRC = $(COMMON)/normApp.cpp $(COMMON)/normPostProcess.cpp APP_OBJ = $(APP_SRC:.cpp=.o) norm: $(APP_OBJ) libnorm.a $(LIBPROTO) $(CC) $(CFLAGS) -o $@ $(APP_OBJ) $(LDFLAGS) libnorm.a $(LIBPROTO) $(LIBS) clean: rm -f $(COMMON)/*.o $(UNIX)/*.o $(UNIX)/libnorm.a $(UNIX)/norm $(NS)/*.o; cd $(PROTOLIB)/unix; $(MAKE) -f Makefile.$(SYSTEM) clean # DO NOT DELETE THIS LINE -- mkdep uses it. # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.