#
# Makefile for Term Project, CMSI 587, Spring 2003
#
# Author: Craig E. Ward
#
CC	=	gcc
CFLAGS  =	-ansi -Wall -g
#
# Set this variable to 1 to enable System VR4 semaphore calls
#
USESVR4 =       0
ALL_SRCS    =   market.c trader.c transport.c stocks.c protocol.c util.c \
	semaphores.c
MARKET_OBJS =	market.o transport.o stocks.o protocol.o util.o
TRADER_OBJS = 	trader.o transport.o stocks.o protocol.o util.o semaphores.o

all: market trader

market: $(MARKET_OBJS)
	$(CC) $(CFLAGS) -o market $(MARKET_OBJS)

trader: $(TRADER_OBJS)
	$(CC) $(CFLAGS) -o trader $(TRADER_OBJS)

market.o: market.c mytypes.h stocks.h protocol.h transport.h util.h
	$(CC) $(CFLAGS) -c market.c

trader.o: trader.c mytypes.h transport.h stocks.h protocol.h util.h \
	semaphores.h
	$(CC) $(CFLAGS) -DUSESVR4=$(USESVR4) -c trader.c

stocks.o: stocks.c stocks.h util.h mytypes.h
	$(CC) $(CFLAGS) -c stocks.c

protocol.o: protocol.c protocol.h stocks.h mytypes.h util.h
	$(CC) $(CFLAGS) -c protocol.c

transport.o: transport.c transport.h mytypes.h util.h
	$(CC) $(CFLAGS) -c transport.c

util.o: util.c util.h
	$(CC) $(CFLAGS) -c util.c

semaphores.o: semaphores.c semaphores.h util.h
	$(CC) $(CFLAGS) -DUSESVR4=$(USESVR4) -c semaphores.c

tags: $(ALL_SRCS)
	- etags $(ALL_SRCS) *.h

clean::
	- rm -f market trader *.o

reallyclean::
	- rm -f market trader *.o *~ *.log *.txt

touch::
	touch *.c *.h
