#############################################################################
# Makefile for building: mcproxy
# Generated by qmake (2.01a) (Qt 4.8.6) on: Tue Nov 28 18:44:46 2017
# Project:  mcproxy.pro
# Template: app
# Command: /usr/lib/x86_64-linux-gnu/qt4/bin/qmake -o Makefile mcproxy.pro
#############################################################################

####### Compiler, tools and options
TOOLCHAIN = $(SYSROOT)/usr
CC        = $(CROSS_COMPILE)gcc
AS        = $(CROSS_COMPILE)as
CXX       = $(CROSS_COMPILE)g++
AR        = $(CROSS_COMPILE)ar
LINK      = $(CROSS_COMPILE)g++
LD        = $(CROSS_COMPILE)ld
OBJCOPY   = $(CROSS_COMPILE)objcopy
RANLIB    = $(CROSS_COMPILE)ranlib
STRIPTOOL = $(CROSS_COMPILE)strip
STRIP     = $(STRIPTOOL)
INCPATH   = -I$(TOOLCHAIN)/include -I.
LIBS      = -lpthread -L$(TOOLCHAIN)/lib -L$(SYSROOT)/lib -L$(TOOLCHAIN)/lib/arm-rdk-linux-gnueabi/9.3.0
DEFINES   = $(BRCM_COMMON_CFLAGS)
CFLAGS    = -O2 -Wall $(DEFINES)
CXXFLAGS  = -std=c++11 -O2 -Wall $(DEFINES)
####### Output directory

OBJECTS_DIR   = ./

####### Files

SOURCES       = src/main.cpp \
		src/hamcast_logging.cpp \
		src/utils/mc_socket.cpp \
		src/utils/addr_storage.cpp \
		src/utils/mroute_socket.cpp \
		src/utils/if_prop.cpp \
		src/utils/reverse_path_filter.cpp \
		src/proxy/proxy.cpp \
		src/proxy/sender.cpp \
		src/proxy/receiver.cpp \
		src/proxy/mld_receiver.cpp \
		src/proxy/igmp_receiver.cpp \
		src/proxy/mld_sender.cpp \
		src/proxy/igmp_sender.cpp \
		src/proxy/proxy_instance.cpp \
		src/proxy/routing.cpp \
		src/proxy/worker.cpp \
		src/proxy/timing.cpp \
		src/proxy/check_if.cpp \
		src/proxy/check_kernel.cpp \
		src/proxy/membership_db.cpp \
		src/proxy/querier.cpp \
		src/proxy/timers_values.cpp \
		src/proxy/interfaces.cpp \
		src/proxy/def.cpp \
		src/proxy/simple_mc_proxy_routing.cpp \
		src/proxy/simple_routing_data.cpp \
		src/parser/scanner.cpp \
		src/parser/token.cpp \
		src/parser/configuration.cpp \
		src/parser/parser.cpp \
		src/parser/interface.cpp
OBJECTS       = main.o \
		hamcast_logging.o \
		mc_socket.o \
		addr_storage.o \
		mroute_socket.o \
		if_prop.o \
		reverse_path_filter.o \
		proxy.o \
		sender.o \
		receiver.o \
		mld_receiver.o \
		igmp_receiver.o \
		mld_sender.o \
		igmp_sender.o \
		proxy_instance.o \
		routing.o \
		worker.o \
		timing.o \
		check_if.o \
		check_kernel.o \
		membership_db.o \
		querier.o \
		timers_values.o \
		interfaces.o \
		def.o \
		simple_mc_proxy_routing.o \
		simple_routing_data.o \
		scanner.o \
		token.o \
		configuration.o \
		parser.o \
		interface.o

QMAKE_TARGET  = mcproxy
DESTDIR       =
TARGET        = mcproxy

first: all
####### Implicit rules

.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

####### Build rules

all: $(TARGET)

$(TARGET):  $(OBJECTS)
	$(LINK) $(LFLAGS) $(OBJECTS) $(OBJCOMP) $(LIBS) -o $(TARGET)



clean:compiler_clean
	-$(DEL_FILE) $(OBJECTS)
	-$(DEL_FILE) thread*
	-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
	-$(DEL_FILE) $(TARGET)
	-$(DEL_FILE) Makefile


doc:
	doxygen ../doxygen/Doxyfile

check: first

compiler_rcc_make_all:
compiler_rcc_clean:
compiler_uic_make_all:
compiler_uic_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
	-$(DEL_FILE) qmake_image_collection.cpp
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean:

####### Compile

main.o: src/main.cpp include/hamcast_logging.h \
		include/utils/if_prop.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/utils/mroute_socket.hpp \
		include/proxy/proxy.hpp \
		include/proxy/timing.hpp \
		include/proxy/message_format.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/check_if.hpp \
		include/proxy/membership_db.hpp \
		include/proxy/querier.hpp \
		include/proxy/proxy_instance.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/simple_mc_proxy_routing.hpp \
		include/proxy/routing_management.hpp \
		include/proxy/simple_routing_data.hpp \
		include/proxy/igmp_sender.hpp \
		include/proxy/sender.hpp \
		include/parser/configuration.hpp \
		include/parser/token.hpp \
		include/tester/tester.hpp \
		include/tester/config_map.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o src/main.cpp

hamcast_logging.o: src/hamcast_logging.cpp include/hamcast_logging.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o hamcast_logging.o src/hamcast_logging.cpp

mc_socket.o: src/utils/mc_socket.cpp include/hamcast_logging.h \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mc_socket.o src/utils/mc_socket.cpp

addr_storage.o: src/utils/addr_storage.cpp include/hamcast_logging.h \
		include/utils/addr_storage.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o addr_storage.o src/utils/addr_storage.cpp

mroute_socket.o: src/utils/mroute_socket.cpp include/hamcast_logging.h \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/utils/extended_mld_defines.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mroute_socket.o src/utils/mroute_socket.cpp

if_prop.o: src/utils/if_prop.cpp include/hamcast_logging.h \
		include/utils/if_prop.hpp \
		include/utils/addr_storage.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o if_prop.o src/utils/if_prop.cpp

reverse_path_filter.o: src/utils/reverse_path_filter.cpp include/utils/reverse_path_filter.hpp \
		include/hamcast_logging.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o reverse_path_filter.o src/utils/reverse_path_filter.cpp

proxy.o: src/proxy/proxy.cpp include/hamcast_logging.h \
		include/proxy/proxy.hpp \
		include/proxy/check_kernel.hpp \
		include/proxy/timing.hpp \
		include/proxy/message_format.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/proxy_instance.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/querier.hpp \
		include/proxy/membership_db.hpp \
		include/parser/configuration.hpp \
		include/parser/token.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o proxy.o src/proxy/proxy.cpp

sender.o: src/proxy/sender.cpp include/hamcast_logging.h \
		include/proxy/sender.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/message_format.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o sender.o src/proxy/sender.cpp

receiver.o: src/proxy/receiver.cpp include/hamcast_logging.h \
		include/proxy/receiver.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/message_format.hpp \
		include/proxy/def.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o receiver.o src/proxy/receiver.cpp

mld_receiver.o: src/proxy/mld_receiver.cpp include/hamcast_logging.h \
		include/proxy/mld_receiver.hpp \
		include/proxy/receiver.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/message_format.hpp \
		include/proxy/def.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/proxy_instance.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/querier.hpp \
		include/proxy/membership_db.hpp \
		include/utils/extended_mld_defines.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mld_receiver.o src/proxy/mld_receiver.cpp

igmp_receiver.o: src/proxy/igmp_receiver.cpp include/hamcast_logging.h \
		include/proxy/igmp_receiver.hpp \
		include/proxy/receiver.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/message_format.hpp \
		include/proxy/def.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/proxy_instance.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/querier.hpp \
		include/proxy/membership_db.hpp \
		include/utils/extended_igmp_defines.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o igmp_receiver.o src/proxy/igmp_receiver.cpp

mld_sender.o: src/proxy/mld_sender.cpp include/hamcast_logging.h \
		include/proxy/mld_sender.hpp \
		include/proxy/sender.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/message_format.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/utils/extended_mld_defines.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mld_sender.o src/proxy/mld_sender.cpp

igmp_sender.o: src/proxy/igmp_sender.cpp include/hamcast_logging.h \
		include/proxy/igmp_sender.hpp \
		include/proxy/sender.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/message_format.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/utils/extended_igmp_defines.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o igmp_sender.o src/proxy/igmp_sender.cpp

proxy_instance.o: src/proxy/proxy_instance.cpp include/hamcast_logging.h \
		include/proxy/proxy_instance.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/message_format.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/querier.hpp \
		include/proxy/membership_db.hpp \
		include/proxy/receiver.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/proxy/igmp_receiver.hpp \
		include/proxy/mld_receiver.hpp \
		include/proxy/sender.hpp \
		include/proxy/igmp_sender.hpp \
		include/proxy/mld_sender.hpp \
		include/proxy/routing.hpp \
		include/proxy/timing.hpp \
		include/proxy/routing_management.hpp \
		include/proxy/simple_mc_proxy_routing.hpp \
		include/proxy/simple_routing_data.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o proxy_instance.o src/proxy/proxy_instance.cpp

routing.o: src/proxy/routing.cpp include/hamcast_logging.h \
		include/proxy/routing.hpp \
		include/utils/if_prop.hpp \
		include/proxy/interfaces.hpp \
		include/utils/reverse_path_filter.hpp \
		include/utils/addr_storage.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o routing.o src/proxy/routing.cpp

worker.o: src/proxy/worker.cpp include/hamcast_logging.h \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/message_format.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o worker.o src/proxy/worker.cpp

timing.o: src/proxy/timing.cpp include/hamcast_logging.h \
		include/proxy/timing.hpp \
		include/proxy/message_format.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o timing.o src/proxy/timing.cpp

check_if.o: src/proxy/check_if.cpp include/hamcast_logging.h \
		include/proxy/check_if.hpp \
		include/utils/if_prop.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o check_if.o src/proxy/check_if.cpp

check_kernel.o: src/proxy/check_kernel.cpp include/hamcast_logging.h \
		include/proxy/check_kernel.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/utils/addr_storage.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o check_kernel.o src/proxy/check_kernel.cpp

membership_db.o: src/proxy/membership_db.cpp include/proxy/membership_db.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/message_format.hpp \
		include/hamcast_logging.h \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o membership_db.o src/proxy/membership_db.cpp

querier.o: src/proxy/querier.cpp include/hamcast_logging.h \
		include/proxy/querier.hpp \
		include/proxy/membership_db.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/message_format.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/proxy/timing.hpp \
		include/proxy/sender.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/proxy/igmp_sender.hpp \
		include/proxy/mld_sender.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o querier.o src/proxy/querier.cpp

timers_values.o: src/proxy/timers_values.cpp include/proxy/timers_values.hpp \
		include/hamcast_logging.h \
		include/proxy/membership_db.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/message_format.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/parser/interface.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o timers_values.o src/proxy/timers_values.cpp

interfaces.o: src/proxy/interfaces.cpp include/hamcast_logging.h \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/utils/addr_storage.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o interfaces.o src/proxy/interfaces.cpp

def.o: src/proxy/def.cpp include/proxy/def.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o def.o src/proxy/def.cpp

simple_mc_proxy_routing.o: src/proxy/simple_mc_proxy_routing.cpp include/hamcast_logging.h \
		include/proxy/simple_mc_proxy_routing.hpp \
		include/proxy/routing_management.hpp \
		include/proxy/def.hpp \
		include/proxy/simple_routing_data.hpp \
		include/parser/interface.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/proxy_instance.hpp \
		include/proxy/worker.hpp \
		include/proxy/message_queue.hpp \
		include/proxy/message_format.hpp \
		include/proxy/timers_values.hpp \
		include/proxy/querier.hpp \
		include/proxy/membership_db.hpp \
		include/proxy/routing.hpp \
		include/proxy/sender.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp \
		include/proxy/timing.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o simple_mc_proxy_routing.o src/proxy/simple_mc_proxy_routing.cpp

simple_routing_data.o: src/proxy/simple_routing_data.cpp include/hamcast_logging.h \
		include/proxy/simple_routing_data.hpp \
		include/proxy/def.hpp \
		include/proxy/message_format.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/proxy/timers_values.hpp \
		include/parser/interface.hpp \
		include/utils/mroute_socket.hpp \
		include/utils/mc_socket.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o simple_routing_data.o src/proxy/simple_routing_data.cpp

scanner.o: src/parser/scanner.cpp include/hamcast_logging.h \
		include/parser/scanner.hpp \
		include/parser/token.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o scanner.o src/parser/scanner.cpp

token.o: src/parser/token.cpp include/hamcast_logging.h \
		include/parser/token.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o token.o src/parser/token.cpp

configuration.o: src/parser/configuration.cpp include/hamcast_logging.h \
		include/parser/configuration.hpp \
		include/parser/token.hpp \
		include/parser/interface.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp \
		include/parser/parser.hpp \
		include/parser/scanner.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o configuration.o src/parser/configuration.cpp

parser.o: src/parser/parser.cpp include/hamcast_logging.h \
		include/parser/parser.hpp \
		include/parser/scanner.hpp \
		include/proxy/def.hpp \
		include/parser/token.hpp \
		include/parser/interface.hpp \
		include/utils/addr_storage.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o parser.o src/parser/parser.cpp

interface.o: src/parser/interface.cpp include/hamcast_logging.h \
		include/parser/interface.hpp \
		include/utils/addr_storage.hpp \
		include/proxy/def.hpp \
		include/proxy/interfaces.hpp \
		include/utils/if_prop.hpp \
		include/utils/reverse_path_filter.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o interface.o src/parser/interface.cpp

####### Install

install_target: first FORCE
	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/local/bin/ || $(MKDIR) $(INSTALL_ROOT)/usr/local/bin/
	-$(INSTALL_PROGRAM) "$(QMAKE_TARGET)" "$(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)"
	-$(STRIP) "$(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)"

uninstall_target:  FORCE
	-$(DEL_FILE) "$(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)"
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/local/bin/


install:  install_target  FORCE

uninstall: uninstall_target   FORCE

FORCE: