
# The way to handle NFS mounted machines with different CPU types
#OBJDIR = obj-$(TARGET_MACH)
OBJDIR = obj
OBJ = $(OBJDIR)/

BINDIR = bin
BIN = $(BINDIR)/

SRCDIR = src
SRC = $(SRCDIR)/

DOCDIR = doc
DOC = $(DOCDIR)/

INSTALLDIR = /home/idm/short/rtplanner/bin
INSTALL = $(INSTALLDIR)/

#
# A general make rule to tell make how to compile from src/ to obj/
$(OBJ)%.o:	$(SRC)%.c
	$(COMPILE.c) -o $@ $<

#
# A general make rule to tell make how to install an executable:
$(INSTALL)%:	$(BIN)%
	mv $< $@
	ln -s $@ $<

# gcc: a bargain at half the price.
CC = gcc

# Use the first for better error messages.
#CFLAGS = -g -DDEBUG
CFLAGS = -g -Bstatic -DDEBUG
#CFLAGS = -O

BREC-OBJS    = $(OBJ)brec.o $(OBJ)buffer_io.o $(OBJ)socket_server.o

BSEND-OBJS   = $(OBJ)open_socket.o $(OBJ)buffer_io.o $(OBJ)bsend.o

FREC-OBJS    = $(OBJ)frec.o $(OBJ)socket_server.o

FSEND-OBJS   = $(OBJ)open_socket.o $(OBJ)fsend.o

INTERCEPT-OBJS = $(OBJ)intercept.o $(OBJ)socket_server.o $(OBJ)open_socket.o

LISP-OBJS   = $(OBJ)lisp-interface.o

REC-OBJS    = $(OBJ)rec.o $(OBJ)socket_server.o

SEND-OBJS   = $(OBJ)open_socket.o $(OBJ)send.o


BREC = $(BIN)brec
BSEND = $(BIN)bsend
FREC = $(BIN)frec
INTERCEPT = $(BIN)intercept
REC = $(BIN)rec
SEND = $(BIN)send
FSEND = $(BIN)fsend


all:	${BREC} ${BSEND} ${FREC} ${FSEND} ${INTERCEPT} ${LISP-OBJS} ${REC} ${SEND}


${BREC}:	${BREC-OBJS}
	${CC} ${CFLAGS} ${BREC-OBJS} -o ${BREC}

${BSEND}:	${BSEND-OBJS}
	${CC} ${CFLAGS} ${BSEND-OBJS} -o ${BSEND}

${FREC}:	${FREC-OBJS}
	${CC} ${CFLAGS} ${FREC-OBJS} -o ${FREC}

${FSEND}:	${FSEND-OBJS}
	${CC} ${CFLAGS} ${FSEND-OBJS} -o ${FSEND}

${INTERCEPT}:	${INTERCEPT-OBJS}
	${CC} ${CFLAGS} ${INTERCEPT-OBJS} -o ${INTERCEPT}

${REC}:	${REC-OBJS}
	${CC} ${CFLAGS} ${REC-OBJS} -o ${REC}

${SEND}:	${SEND-OBJS}
	${CC} ${CFLAGS} ${SEND-OBJS} -o ${SEND}

clean:	
	rm -f core $(SRC)*~ $(DOC)*~ $(DOC)*.aux $(DOC)*.dvi $(DOC)*.log *.o ${FREC} ${FSEND}

install:	$(INSTALL)intercept $(INSTALL)send $(INSTALL)rec $(INSTALL)bsend $(INSTALL)brec 


TAR-INTEREST =            $(DOC)socket.tex          $(DOC)socket.ps \
lisp/socket.lisp \
$(SRC)brec.c	          $(SRC)frec.c              $(SRC)rec.c \
$(SRC)bsend.c             $(SRC)fsend.c             $(SRC)send.c \
$(SRC)buffer_io.c         $(SRC)intercept.c         $(SRC)socket_server.c \
$(SRC)buffer_io.h         $(SRC)lisp-interface.c    $(SRC)socket_server.h \
$(SRC)debug.h             $(SRC)open_socket.c       \
$(SRC)error.h             $(SRC)open_socket.h

socket.tar: $(TAR-INTEREST)
	make clean
	rm -f socket.tar.Z socket.tar
	make install
	(cd ..; tar cfFF socket/socket.tar socket)

tar:	socket.tar

socket.tar.Z: socket.tar
	compress socket.tar
	touch socket.tar
	touch socket.tar.Z	

tar.Z:	socket.tar.Z
