# TU comm
BIN = tu_comm
TARGET = 
CC = gcc

UDIR = /home/edelahaye
LIBDIR = /usr/lib
KDIR = /usr/include
CLIBDIR = $(UDIR)/clib
COMM_SDIR = $(CLIBDIR)/comm/src
COMM_IDIR = $(CLIBDIR)/comm/inc
SDIR = ./src
IDIR = ./inc
ODIR = ./out
include ~/gcc/wall
include ~/gcc/wextra
CFG_CFLAGS=1
ifeq ($(CFG_CFLAGS),1)
CFLAGS = -O3 $(WALL) $(WEXTRA)
else
CFLAGS = -O3 -Wall -Wextra
endif

INCLUDES = -I. -I$(KDIR) -I$(COMM_IDIR) -I$(UDIR) -I$(LIBDIR) -I$(CLIBDIR)
DEFINES = -DDBG_SYSALLOC

OBJS = \
       $(ODIR)/comm.o\
       $(ODIR)/main.o\
       $(ODIR)/frmwrk.o

DEPS = \
       $(COMM_IDIR)/comm.h\
       $(COMM_IDIR)/comm_err.itm\
       $(COMM_IDIR)/comm_bds.itm\
       $(COMM_IDIR)/comm_par.itm\
       $(COMM_IDIR)/comm_stp.itm\
       Makefile

all:
	touch $(SDIR)/main.c
	make $(BIN)

$(BIN): $(OBJS)
	$(CC) -L$(CLIBDIR)/ed -L$(CLIBDIR)/conio/linux -L$(LIBDIR) -o $@ $^ -led -lpthread -lconio

$(ODIR)/frmwrk.o:  $(CLIBDIR)/frmwrk/src/frmwrk.c\
        $(CLIBDIR)/frmwrk/inc/main.h\
         $(DEPS)
	ind $<
	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@

$(ODIR)/main.o:  $(SDIR)/main.c\
        $(CLIBDIR)/frmwrk/inc/main.h\
         $(DEPS)
	ind $<
	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@

$(ODIR)/comm.o:  $(COMM_SDIR)/linux/comm.c\
         $(DEPS)
	ind $<
	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@

#install:
#	install -C -p -s $(BIN) /usr/local/sbin/

clean:
	rm -f $(BIN) $(OBJS)

cleanall:
	rm -f *~
