94 lines
2.6 KiB
Makefile
94 lines
2.6 KiB
Makefile
#########################################################################
|
|
# COMMON NORM MAKEFILE STUFF
|
|
#
|
|
|
|
SHELL=/bin/sh
|
|
|
|
.SUFFIXES: .cpp -sim.o $(.SUFFIXES)
|
|
|
|
PROTOLIB = ../protolib
|
|
COMMON = ../common
|
|
UNIX = ../unix
|
|
NS = ../ns
|
|
|
|
INCLUDES = $(SYSTEM_INCLUDES) -I$(UNIX) -I$(COMMON) -I$(PROTOLIB)/common
|
|
|
|
CFLAGS = -g -DPROTO_DEBUG -DUNIX -D_FILE_OFFSET_BITS=64 -O $(SYSTEM_CFLAGS) $(SYSTEM_HAVES) $(INCLUDES)
|
|
|
|
LDFLAGS = $(SYSTEM_LDFLAGS)
|
|
|
|
# Note: Even command line app needs X11 for Netscape post-processing
|
|
LIBS = $(SYSTEM_LIBS) -lm -lpthread
|
|
XLIBS = -lXmu -lXt -lX11
|
|
|
|
|
|
TARGETS = norm raft
|
|
|
|
# Rule for C++ .cpp extension
|
|
.cpp.o:
|
|
$(CC) -c $(CFLAGS) -o $*.o $*.cpp
|
|
|
|
# NORM 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
|
|
|
|
NORM_SRC = $(COMMON)/normMessage.cpp $(COMMON)/normSession.cpp \
|
|
$(COMMON)/normNode.cpp $(COMMON)/normObject.cpp \
|
|
$(COMMON)/normSegment.cpp \
|
|
$(COMMON)/normEncoder.cpp $(COMMON)/galois.cpp \
|
|
$(COMMON)/normFile.cpp $(COMMON)/normApi.cpp
|
|
|
|
NORM_OBJ = $(NORM_SRC:.cpp=.o)
|
|
|
|
LIB_SRC = $(NORM_SRC)
|
|
LIB_OBJ = $(LIB_SRC:.cpp=.o)
|
|
|
|
# NORM as a static library
|
|
libnorm.a: $(LIB_OBJ)
|
|
$(AR) rcv $@ $(LIB_OBJ)
|
|
$(RANLIB) $@
|
|
|
|
# NORM as a shared library
|
|
libnorm.so: $(LIB_OBJ)
|
|
$(CC) $(SYSTEM_SOFLAGS) $(LIB_OBJ) $(LIBS) -o $@
|
|
|
|
SIM_SRC = $(NORM_SRC) $(COMMON)/normSimAgent.cpp
|
|
SIM_OBJ = $(SIM_SRC:.cpp=-sim.o)
|
|
|
|
libnormSim.a: $(SIM_OBJ)
|
|
ar rcv $@ $(SIM_OBJ)
|
|
ranlib $@
|
|
|
|
# (norm) command-line file broadcaster/receiver
|
|
APP_SRC = $(COMMON)/normApp.cpp $(COMMON)/normPostProcess.cpp \
|
|
$(UNIX)/unixPostProcess.cpp
|
|
APP_OBJ = $(APP_SRC:.cpp=.o)
|
|
|
|
norm: $(APP_OBJ) libnorm.a $(LIBPROTO)
|
|
$(CC) $(CFLAGS) -o $@ $(APP_OBJ) $(LDFLAGS) libnorm.a $(LIBPROTO) $(LIBS)
|
|
|
|
|
|
# (normTest) test of NORM API
|
|
TEST_SRC = $(COMMON)/normTest.cpp
|
|
TEST_OBJ = $(TEST_SRC:.cpp=.o)
|
|
|
|
normTest: $(TEST_OBJ) libnorm.a $(LIBPROTO)
|
|
$(CC) $(CFLAGS) -o $@ $(TEST_OBJ) $(LDFLAGS) libnorm.a $(LIBPROTO) $(LIBS)
|
|
|
|
# (raft) command-line reliable tunnel helper
|
|
RAFT_SRC = $(COMMON)/raft.cpp
|
|
RAFT_OBJ = $(RAFT_SRC:.cpp=.o)
|
|
|
|
raft: $(RAFT_OBJ) $(LIBPROTO)
|
|
$(CC) $(CFLAGS) -o $@ $(RAFT_OBJ) $(LDFLAGS) $(LIBPROTO) $(LIBS)
|
|
|
|
clean:
|
|
rm -f $(COMMON)/*.o $(UNIX)/*.o $(UNIX)/libnorm.a \
|
|
$(UNIX)/libnorm.so $(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.
|
|
|