# Copyright (c) 2009-2011 Centro Svizzero di Calcolo Scientifico (CSCS)
# Licensed under the GPLv2.
# TARGETS
TARGOBJ	= libsdb.a

OBJDIR ?= ./objects
SRCS := $(wildcard *.c)
OBJS := $(addprefix $(OBJDIR)/,$(SRCS:.c=.o))

# PROGRAMS
CC	:= gcc
RANLIB	:= ar s

# PATHS
INCDIR  := ../include
HEADERS	:= $(INCDIR)/basil_mysql.h $(INCDIR)/basil_torus.h

# FLAGS
CFLAGS	= -I$(INCDIR) -g -Wall -Werror
CFLAGS += $(DEFS)
CFLAGS += $(shell mysql_config --cflags)

# RULES
.PHONY: clean distclean all

all: $(TARGOBJ)

$(TARGOBJ): $(OBJS)
	@$(AR) $(ARFLAGS) $@ $^
	$(RANLIB) $@

$(OBJDIR)/%.o : %.c $(HEADERS) | $(OBJDIR)/
	$(CC) $(CFLAGS) -c $< -o $@

$(OBJDIR)/:
	mkdir -p $@

tags: $(SRCS) $(wildcard $(INCDIR)/*.h ../libaslps/*.c)
	ctags $^

clean:
	@$(RM) $(OBJS) *.o *~ ? core a.out tags *.orig *.rej
	@$(RM) $(TARGOBJ)

distclean: clean
	@test ! -d $(OBJDIR) || rmdir -v $(OBJDIR)
