CC = gcc
HOME = .
ARCH = linux
BIN_DIR = $(HOME)/bin
OBJ_DIR = $(ARCH)


# Where statically linked libraries are to be found.
# LIB_DIR_STATIC = -L/net/step/home/$(ARCH)/lib/static
LIB_DIR_STATIC = -L/usr/local/lib

# Compiler optimization (typically, -g or -O)
OPT = -g

# Warning flags (-Wall for gcc)
WFLAGS = -Wall

# System-specific definitions:

SYSFLAGS = -DRTP_LITTLE_ENDIAN=1
SYSLIBS = -lresolv -lnsl -ldl
LIB_DIR = -L/usr/local/lib -Wl,-rpath,/usr/local/lib

# -----------------------------------------------------
SHELL  = /bin/sh
V      = 1.11
CO     = /bin/true
LDLIBS = $(SYSLIBS)
CFLAGS = $(OPT) $(WFLAGS) $(SYSFLAGS) -D$(ARCH) -I. -I$(ARCH)


all: dir $(BIN_DIR)/raw_send \
     $(BIN_DIR)/raw_rcv 

OBJ = $(OBJ_DIR)/host2ip.o \
  $(OBJ_DIR)/hpt.o \
  $(OBJ_DIR)/session.o \
  $(OBJ_DIR)/rtcp.o \

$(BIN_DIR)/raw_send: $(OBJ_DIR)/raw_send.o $(OBJ_DIR)/md5c.o $(OBJ)
	$(CC) $(CFLAGS) $(OBJ_DIR)/raw_send.o $(OBJ_DIR)/md5c.o $(OBJ) \
    $(LIB_DIR) $(LDFLAGS) $(LDLIBS) -o $@ 

$(BIN_DIR)/raw_rcv: $(OBJ_DIR)/raw_rcv.o $(OBJ)
	$(CC) $(CFLAGS) $(OBJ_DIR)/raw_rcv.o $(OBJ) \
    $(LIB_DIR) $(LDFLAGS) $(LDLIBS) -o $@ 

dir:
	-test -d $(ARCH) || mkdir $(ARCH)


$(OBJ_DIR)/host2ip.o: host2ip.c
	$(CC) -c $(CFLAGS) $? -o $@

$(OBJ_DIR)/session.o: session.c
	$(CC) -c $(CFLAGS) $? -o $@

$(OBJ_DIR)/hpt.o: hpt.c
	$(CC) -c $(CFLAGS) $? -o $@

$(OBJ_DIR)/md5c.o: md5c.c
	$(CC) -c $(CFLAGS) $? -o $@

$(OBJ_DIR)/rtcp.o: rtcp.c
	$(CC) -c $(CFLAGS) $? -o $@

$(OBJ_DIR)/raw_send.o: raw_send.c
	$(CC) -c $(CFLAGS) $? -o $@

$(OBJ_DIR)/raw_rcv.o: raw_rcv.c
	$(CC) -c $(CFLAGS) $? -o $@

clean:
	rm -f *.o linux/*.o 
