CC=gcc
CFLAGS=-Wall -g -pthread -DT_TRACER

#comment those two lines to NOT use shared memory
CFLAGS += -DT_USE_SHARED_MEMORY
LIBS += -lrt

PROG=t
OBJS=main.o T.o

GENIDS=genids
GENIDS_OBJS=genids.o

ALL=$(PROG) $(GENIDS)

all : $(ALL)

$(GENIDS): $(GENIDS_OBJS)
	$(CC) $(CFLAGS) -o $(GENIDS) $(GENIDS_OBJS)

$(PROG): $(OBJS)
	$(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LIBS)

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

T_IDs.h: $(GENIDS) T_messages.txt
	./$(GENIDS) T_messages.txt T_IDs.h

main.o: T.h T_IDs.h T_defs.h

clean:
	rm -f *.o $(PROG) $(GENIDS) core T_IDs.h