# Edit this file to define constants and custom build targets.
# Please refer to the makemake documentation for more information.

# Useful directories

MYCODEDIR := ..

# Directories to search for header files

SEARCHDIRS := -I- -I${MYCODEDIR}/common -I${MYCODEDIR}/bridge

# makemake variables

LINKER       := g++
DEPENDFLAGS  := -g -Wall -Werror -ggdb3 ${SEARCHDIRS}
TOUCHHEADERS := ${MYCODEDIR}/*.h

# make variables

CC        := g++
CXX       := g++
CCC       := g++
CPPFLAGS   = ${DEPENDFLAGS}
LOADLIBES :=
LDFLAGS   :=


# This is what makemake added


# ../bin/bridge.exe

../bin/bridge.exe : ./bridge.o ./main.o ../common/channel.o ../common/exception.o ../common/html_utils.o ../common/strings.o ../common/stringone.o
	${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}


# target for making everything

.PHONY : all
all: ../bin/bridge.exe


# target for removing all object files

.PHONY : tidy
tidy::
	@${RM} core ./bridge.o ../common/channel.o ../common/exception.o ../common/html_utils.o ./main.o ../common/stringone.o ../common/strings.o

# target for removing all object files

.PHONY : clean
clean:: tidy
	@${RM} ../bin/bridge.exe

# list of all source files

MM_ALL_SOURCES := ./bridge.cc ../common/channel.cc ../common/exception.cc ../common/html_utils.cc ./main.cc ../common/stringone.cc ../common/strings.cc


# target for checking a source file

CHECKSYNTAXFILE := ${basename ${filter %${CHECKSTRING}, ${MM_ALL_SOURCES}}}

.PHONY : checksyntax
checksyntax:
  ifneq (${CHECKSYNTAXFILE},)
	@${MAKE} ${addsuffix .o, ${CHECKSYNTAXFILE}}
  else
	@echo No target to make ${CHECKSTRING}
  endif


# target for touching appropriate source files

.PHONY : touch
touch:
	@echo
	@echo Please ignore \"file arguments missing\" errors
	@echo
	@echo   `grep -l ${TOUCHSTRING} ${MM_ALL_SOURCES}`
	@-touch `grep -l ${TOUCHSTRING} ${MM_ALL_SOURCES}`
	@echo
	@echo   `grep -l ${TOUCHSTRING} ${TOUCHHEADERS}`
	@-touch `grep -l ${TOUCHSTRING} ${TOUCHHEADERS}`


# target for calculating dependencies

.PHONY : jdepend
jdepend:
	@makemake -depend Makefile -- ${DEPENDFLAGS} -- ./bridge.cc ./bridge.o ../common/channel.cc ../common/channel.o ../common/exception.cc ../common/exception.o ../common/html_utils.cc ../common/html_utils.o ./main.cc ./main.o ../common/stringone.cc ../common/stringone.o ../common/strings.cc ../common/strings.o


# DO NOT DELETE THIS LINE -- makemake depends on it.

./bridge.o: ../bridge/bridge.h ../common/channel.h ../common/exception.h ../common/html_utils.h ../common/stringone.h ../common/strings.h /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/netinet/in.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h /usr/include/sys/socket.h /usr/include/sys/time.h /usr/include/sys/types.h /usr/include/unistd.h

../common/channel.o: ../common/channel.h ../common/exception.h ../common/strings.h /usr/include/arpa/inet.h /usr/include/fcntl.h /usr/include/netdb.h /usr/include/netinet/in.h /usr/include/stdio.h /usr/include/string.h /usr/include/sys/socket.h /usr/include/sys/stat.h /usr/include/sys/time.h /usr/include/sys/types.h /usr/include/unistd.h

../common/exception.o: ../common/exception.h ../common/strings.h /usr/include/string.h

../common/html_utils.o: ../common/exception.h ../common/html_utils.h ../common/strings.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h

./main.o: ../bridge/bridge.h ../common/channel.h ../common/exception.h ../common/strings.h /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/netinet/in.h /usr/include/string.h /usr/include/sys/socket.h /usr/include/sys/time.h /usr/include/sys/types.h /usr/include/unistd.h

../common/stringone.o: ../common/stringone.h /usr/include/stdlib.h /usr/include/string.h

../common/strings.o: ../common/exception.h ../common/strings.h /usr/include/errno.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h

