CC = gcc
CFLAGS = -I . -g -O0 -Wall -std=c99 -D_BSD_SOURCE

SAN_C = rdb_sanitize.c rdb.c
SAN_O = $(SAN_C:.c=.o)

RD_C = rdb_read.c rdb.c
RD_O = $(RD_C:.c=.o)

RDB_C = rdb_build.c rdb.c
RDB_O = $(RDB_C:.c=.o)

RDB2_C = rdb_build2.c rdb.c
RDB2_O = $(RDB2_C:.c=.o)

PRG_C = rdb_preg.c rdb.c
PRG_O = $(PRG_C:.c=.o)

RUP_C = rdb_update.c rdb.c
RUP_O = $(RUP_C:.c=.o)

ANN_C = rdb_anotate.c rdb.c
ANN_O = $(ANN_C:.c=.o)

TARGETS = rdb_sanitize rdb_read rdb_preg rdb_build rdb_anotate rdb_build2 rdb_update

##### RULES #####
.SUFFIXES:
.SUFFIXES: .c .o

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

##### TARGETS #####

all: $(TARGETS)

rdb_sanitize: $(SAN_O)
	$(CC) -o $@ $(SAN_O)

rdb_read: $(RD_O)
	$(CC) -o $@ $(RD_O)

rdb_preg: $(PRG_O)
	$(CC) -o $@ $(PRG_O)

rdb_build: $(RDB_O)
	$(CC) -o $@ $(RDB_O)

rdb_build2: $(RDB2_O)
	$(CC) -o $@ $(RDB2_O)

rdb_anotate: $(ANN_O)
	$(CC) -o $@ $(ANN_O)

rdb_update: $(RUP_O)
	$(CC) -o $@ $(RUP_O)

clean:
	rm -f $(TARGETS)
	rm -f *.o
