# $Id: Makefile,v 1.11 2003/11/26 12:09:08 roca Exp $ # # Makefile # ###### OS Dependant Definitions ###### # they are defined in the following file... # edit Makefile.common as appropriate include ../../Makefile.common ifeq (${OS},linux) # Linux version BINDIR = ../../bin/linux LDPC_BINDIR = ../../../ldpc/bin/linux # A few libs for memory debug: # -lefence for memory debug on Linux (and other plateforms) # Requires: export EF_PROTECT_FREE=1 # export EF_PROTECT_BELOW=1 # for instance: #LIBRARIES = -Wl,-Bstatic -lefence -Wl,-Bdynamic -lc -lm -lpthread LIBRARIES = -lc -lm -lpthread # MPATROL only installed on linux today # ifeq (${MPATROL},yes) # add mpatrol support for extended memory debugging mpatrol_CFLAGS = -DMPATROL endif endif ifeq (${OS},solaris) # Solaris version BINDIR = ../../bin/solaris LDPC_BINDIR = ../../../ldpc/bin/solaris LIBRARIES = -lc -lm -lsocket -lnsl -L/usr/ucblib -lucb -lpthread endif ifeq (${OS},freebsd) # FreeBSD version BINDIR = ../../bin/freebsd LDPC_BINDIR = ../../../ldpc/bin/freebsd LIBRARIES = -lm -pthread endif ###### Other Variables ###### # Common source files are here... COMMON_DIR = ../common/ # List of source, object and include files # mcl_SRCFILES = ${COMMON_DIR}/mcl_addr.cpp ${COMMON_DIR}/mcl_debug.cpp ${COMMON_DIR}/mcl_osdep.cpp ${COMMON_DIR}/rse_fec.cpp mcl_time.cpp mcl_vtmem.cpp mcl_vrmem.cpp mcl_rx_storage.cpp mcl_layer.cpp mcl_lct_hdr.cpp mcl_alc_hdr.cpp mcl_txtab.cpp mcl_sda_txtab.cpp mcl_rlc.cpp mcl_flid_sl.cpp mcl.cpp mcl_lib.cpp mcl_tx_prof.cpp mcl_sched.cpp mcl_tx.cpp mcl_rx.cpp mcl_sig.cpp mcl_network.cpp mcl_du.cpp mcl_adu.cpp mcl_var.cpp mcl_stats.cpp mcl_fec.cpp mcl_fsm.cpp mcl_flute.cpp mcl_OFILES = ${mcl_SRCFILES:.cpp=.o} mcl_INC_FILES = ${COMMON_DIR}/mcl_addr.h ${COMMON_DIR}/mcl_debug.h ${COMMON_DIR}/mcl_osdep.h ${COMMON_DIR}/rse_fec.h mcl_profile.h mcl.h mcl_time.h mcl_vtmem.h mcl_vrmem.h mcl_rx_storage.h mcl_proto.h mcl_rlc.h mcl_flid_sl.h mcl_fsm.h mcl_lct_hdr.h mcl_alc_hdr.h mcl_fec.h # General purpose local FLAGS. # WARNING: with gcc/g++, never use -O3 optimisation (compiler bugs) # #CFLAGS = -DALC ${OSFLAGS} -DDEBUG -g -fcheck-memory-usage #CFLAGS = -DALC ${OSFLAGS} ${mpatrol_CFLAGS} -DDEBUG -g # debug plus mpatrol #CFLAGS = -DALC ${OSFLAGS} -DDEBUG -g # for debug version CFLAGS = -DALC ${OSFLAGS} -O -g # for optimized version #CFLAGS = -DALC ${OSFLAGS} -O -g -pg # optimized with profiling LDFLAGS = ###### Dependancies ###### # by default, create the MCL lib all: lib # Rule for C++ .cpp extension .cpp.o: $(CC) -c $(CFLAGS) -o $*.o $*.cpp lib : ${mcl_OFILES} @echo "** Now create the MCL-ALC library..." # Choose between the following two versions, according to # the FEC in use... # # RSE_FEC version ${AR} -rcsv ${BINDIR}/libmclalc.a ${mcl_OFILES} # # LDPC FEC version: add the libldpc.a library #${AR} -rcsv ${BINDIR}/libmclalc.a ${mcl_OFILES} ${LDPC_BINDIR}/libldpc.a ${RANLIB} ${BINDIR}/libmclalc.a @echo "done" clean : @for f in core ${mcl_OFILES} ; do \ if [ -f "$${f}" ] ; then \ rm "$${f}"; \ fi \ done cleanall : clean @for f in ${BINDIR}/libmclalc*.a ; do \ if [ -f "$${f}" ] ; then \ rm $${f} ; \ fi \ done depend : ${DEPEND} -- ${CFLAGS} -- ${mcl_SRCFILES} ${mcl_CPP_SRCFILES} # Dependencies automatically created by makedepend (see depend target above). # # DO NOT DELETE THIS LINE -- make depend depends on it.