XDIRS			= /usr/X11/lib
XLIBS			= X11
OBJS			= ./obj
COMMUNICATION_LIB	= ../communication/communication.a
COMMUNICATION_INCLUDE	= ../communication
MATRIX_LIB		= ../matrix/matrix.a
MATRIX_INCLUDE		= ../matrix
MAIN_INCLUDE		= ../include
LIBS			= $(COMMUNICATION_LIB) $(MATRIX_LIB) -lm
TARGET			= bemmel
INCLUDE			= -I. -I../include\
			  -I$(MATRIX_INCLUDE) -I$(COMMUNICATION_INCLUDE)
COMPILER		= gcc -O2
CFLAGS			= $(INCLUDE)
CC			= $(COMPILER) $(CFLAGS)

CFILES=\
	communication.c\
	compute.c\
	datastruct.c\
	input.c\
	main.c\
	xgraphics.c

OBJECTS=\
	$(OBJS)/communication.o\
	$(OBJS)/compute.o\
	$(OBJS)/datastruct.o\
	$(OBJS)/input.o\
	$(OBJS)/main.o\
	$(OBJS)/xgraphics.o

${OBJS}/%.o: %.c Makefile
	${CC} -c $< -o $@


$(TARGET)1: $(OBJECTS) $(COMMUNICATION_LIB) $(MATRIX_LIB)
	$(CC) $(CFLAGS) -o $(TARGET)1 $(OBJECTS) $(LIBS)\
			 -L$(XDIRS) -l$(XLIBS)
	rm -f $(TARGET)2
	ln $(TARGET)1 $(TARGET)2

all: $(TARGET)1

depend:
	makedepend -p${OBJS}/ ${INCLUDE} ${CFILES}


clean:
	rm -f $(OBJECTS)

clear:
	rm -f $(OBJECTS) $(TARGET)?
# DO NOT DELETE THIS LINE -- make depend depends on it.

./obj/communication.o: ../include/config.h ../include/version.h
./obj/communication.o: /usr/include/stdio.h /usr/include/signal.h
./obj/communication.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h
./obj/communication.o: /usr/include/stdlib.h /usr/include/sys/stdtypes.h
./obj/communication.o: /usr/include/errno.h /usr/include/sys/errno.h
./obj/communication.o: communication.h ../matrix/matrix.h
./obj/communication.o: ../include/global_communication.h datastruct.h
./obj/communication.o: xgraphics.h /usr/include/X11/Xlib.h
./obj/communication.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h
./obj/communication.o: /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h
./obj/communication.o: /usr/include/X11/Xosdefs.h /usr/include/stddef.h
./obj/communication.o: /usr/include/X11/Xutil.h /usr/include/sys/time.h
./obj/communication.o: /usr/include/sys/time.h
./obj/compute.o: ../include/config.h ../include/version.h
./obj/compute.o: /usr/include/stdio.h compute.h ../matrix/matrix.h
./obj/compute.o: datastruct.h main.h xgraphics.h /usr/include/X11/Xlib.h
./obj/compute.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
./obj/compute.o: /usr/include/sys/sysmacros.h /usr/include/X11/X.h
./obj/compute.o: /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h
./obj/compute.o: /usr/include/stddef.h /usr/include/X11/Xutil.h
./obj/datastruct.o: ../include/config.h ../include/version.h
./obj/datastruct.o: /usr/include/stdio.h /usr/include/stdlib.h
./obj/datastruct.o: /usr/include/sys/stdtypes.h datastruct.h
./obj/datastruct.o: ../matrix/matrix.h main.h
./obj/input.o: ../include/config.h ../include/version.h /usr/include/stdio.h
./obj/input.o: /usr/include/ctype.h /usr/include/strings.h input.h
./obj/input.o: ../matrix/matrix.h datastruct.h
./obj/main.o: ../include/config.h ../include/version.h /usr/include/stdio.h
./obj/main.o: /usr/include/signal.h /usr/include/sys/signal.h
./obj/main.o: /usr/include/vm/faultcode.h main.h input.h compute.h
./obj/main.o: ../matrix/matrix.h communication.h
./obj/xgraphics.o: ../include/config.h ../include/version.h
./obj/xgraphics.o: /usr/include/stdio.h /usr/include/X11/Xlib.h
./obj/xgraphics.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
./obj/xgraphics.o: /usr/include/sys/sysmacros.h /usr/include/X11/X.h
./obj/xgraphics.o: /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h
./obj/xgraphics.o: /usr/include/stddef.h /usr/include/X11/Xutil.h
./obj/xgraphics.o: /usr/include/signal.h /usr/include/sys/signal.h
./obj/xgraphics.o: /usr/include/vm/faultcode.h xgraphics.h ../matrix/matrix.h
./obj/xgraphics.o: main.h datastruct.h
