
RANLIB ?= ranlib

OBJDIR = obj

CPPFLAGS += -g -Wall -Werror -O2

LDFLAGS += -g

all: libvhd.a libvhdaio.a

clean:
	rm -rf obj

VPATH = $(OBJDIR)

libvhd_SRCS  = libvhd.c relative-path.c libvhd-journal.c atomicio.c
libvhd_OBJS  = $(patsubst %.c,%.o,$(libvhd_SRCS))
libvhd_OBJS := $(subst /,_,$(libvhd_OBJS))
libvhd_CPPFLAGS = 

libvhdaio_SRCS  = block-vhd.c tapdisk-log.c
libvhdaio_OBJS  = $(patsubst %.c,%.o,$(libvhdaio_SRCS))
libvhdaio_OBJS := $(subst /,_,$(libvhdaio_OBJS))
libvhdaio_CPPFLAGS = 

libvhd.a: $(libvhd_OBJS)
	$(AR) rc $(OBJDIR)/$@ $(patsubst %,$(OBJDIR)/%,$(libvhd_OBJS))
	$(RANLIB) $(OBJDIR)/$@

libvhdaio.a: $(libvhdaio_OBJS)
	$(AR) rc $(OBJDIR)/$@ $(patsubst %,$(OBJDIR)/%,$(libvhdaio_OBJS))
	$(RANLIB) $(OBJDIR)/$@

$(libvhd_OBJS): $(OBJDIR)/.exists
$(libvhd_OBJS): %.o : %.c
	$(COMPILE.c) $(libvhd_CPPFLAGS) $< -o $(OBJDIR)/$@

$(libvhdaio_OBJS): $(OBJDIR)/.exists
$(libvhdaio_OBJS): %.o : %.c
	$(COMPILE.c) $(libvhdaio_CPPFLAGS) $< -o $(OBJDIR)/$@

%/.exists:
	@mkdir -p $(@D)/.hg
	@touch $@
