
CC = gcc
CFLAGS = -Wall -g -lpthread

FIELD = field.c dsm.h
TCP = network_dsm.h tcp.c
UDP = network_dsm.h udp.c
EXN = mach_exn.c

all : pthread_non_dsm \
      tcp_dsm_client tcp_dsm_server \
      udp_dsm_client udp_dsm_server \
      tcp_page_dsm_client tcp_page_dsm_server \
      udp_page_dsm_client udp_page_dsm_server \
      run

pthread_non_dsm : pthread_non_dsm.c $(FIELD)

tcp_dsm_client : tcp_dsm_client.c network_dsm_client.c $(FIELD) $(TCP)

tcp_dsm_server : tcp_dsm_server.c network_dsm_server.c $(TCP) sites.h

udp_dsm_client : udp_dsm_client.c network_dsm_client.c $(FIELD) $(UDP)

udp_dsm_server : udp_dsm_server.c network_dsm_server.c $(UDP) sites.h

tcp_page_dsm_client : tcp_page_dsm_client.c network_page_dsm_client.c $(FIELD) $(TCP) $(EXN)

tcp_page_dsm_server : tcp_page_dsm_server.c network_dsm_server.c $(TCP) $(EXN) sites.h

udp_page_dsm_client : udp_page_dsm_client.c network_page_dsm_client.c $(FIELD) $(UDP) $(EXN)

udp_page_dsm_server : udp_page_dsm_server.c network_dsm_server.c $(UDP) $(EXN) sites.h

run : run.c sites.h
