# Makefile
# CSE333 Client-side and Server-side Programming

CXX = g++
CPPFLAGS = -Wall -g -std=c++17
PROGS = connect dnsresolve sendreceive server_accept_rw_close \
		server_bind_listen socket

# default target builds all executables
all: $(PROGS)

# General: socket example
socket: socket.cc
	$(CXX) $(CPPFLAGS) -o $@ $<

# Client-side: connect
connect: connect.cc
	$(CXX) $(CPPFLAGS) -o $@ $<

# Client-side: dnsresolve
dnsresolve: dnsresolve.cc
	$(CXX) $(CPPFLAGS) -o $@ $<

# Client-side: sendrecieve
sendrecieve: sendreceive.cc
	$(CXX) $(CPPFLAGS) -o $@ $<

# Server-side: server_bind_listen
server_bind_listen: server_bind_listen.cc
	$(CXX) $(CPPFLAGS) -o $@ $<

# Server-side: server_accept_rw_close
server_accept_rw_close: server_accept_rw_close.cc
	$(CXX) $(CPPFLAGS) -o $@ $<

# Generic clean target
clean:
	rm -f *.o $(PROGS) *~