
SHARED_DATA_PROJECT=Common

LOGGER_PROJECT_FOLDER=Logger
SERVER_PROJECT_FOLDER=Server
DELEGATOR_PROJECT_FOLDER=Delegator

LOGGER_PROGRAM=logger
SERVER_PROGRAM=server
DELEGATOR_PROGRAM=delegator

LOGGER_DEPENDANCES=$(LOGGER_PROJECT_FOLDER)/launch_logger.c $(SHARED_DATA_PROJECT)/shared_data.h
SERVER_DEPENDANCES=$(SERVER_PROJECT_FOLDER)/launch_server.c $(SHARED_DATA_PROJECT)/shared_data.h
DELEGATOR_DEPENDANCES=$(DELEGATOR_PROJECT_FOLDER)/launch_delegator.c $(SHARED_DATA_PROJECT)/shared_data.h

#gcc -I. -c X?.c
#gcc -shared X?.o -o libMy.so

#	gcc -I. X?.c     -o X?      # -L. -lMy # not used for the moment

all: makeLogger makeServer makeDelegator

makeLogger: $(LOGGER_DEPENDANCES)
	gcc                                               \
		-I$(LOGGER_PROJECT_FOLDER)                \
		-I$(SHARED_DATA_PROJECT)                  \
		-o $(LOGGER_PROGRAM)                      \
		$(LOGGER_PROJECT_FOLDER)/launch_logger.c

makeServer: $(SERVER_DEPENDANCES)
	gcc                                               \
		-I$(SERVER_PROJECT_FOLDER)                \
		-I$(SHARED_DATA_PROJECT)                  \
		-o $(SERVER_PROGRAM)                      \
		$(SERVER_PROJECT_FOLDER)/launch_server.c

makeDelegator: $(DELEGATOR_DEPENDANCES)
	gcc                                                  \
		-I$(DELEGATOR_PROJECT_FOLDER)                \
		-I$(SHARED_DATA_PROJECT)                     \
		-o $(DELEGATOR_PROGRAM)                      \
		$(DELEGATOR_PROJECT_FOLDER)/launch_delegator.c

launch: all
	sudo $(SERVER_PROGRAM) &
