include config.mak
sfmtdir=$(unpackdir)/SFMT-src-1.5.1
VPATH+=$(sfmtdir)
include $(srcdir)/version.mak

CPPFLAGS+=-I$(includedir)
ifneq (,$(yapib-version-major)) # [
CPPFLAGS+=-DYAPIB_VERSION_MAJOR=$(yapib-version-major)
endif # ]
ifneq (,$(yapib-version-minor)) # [
CPPFLAGS+=-DYAPIB_VERSION_MINOR=$(yapib-version-minor)
endif # ]
ifneq (,$(yapib-version-build)) # [
CPPFLAGS+=-DYAPIB_VERSION_BUILD=$(yapib-version-build)
endif # ]
ifneq (,$(yapib-version-beta)) # [
CPPFLAGS+=-DYAPIB_VERSION_BETA=$(yapib-version-beta)
endif # ]
LDLIBS+=$(call ldlib,advapi32)
LDLIBS+=$(call ldlib,shell32)
LDLIBS+=$(call ldlib,gdi32)

include $(srcdir)/rules.mak

lib:=$(libdir)/libyapib$(exta)
#$(bindir)/xwidget: $(libdir)/yapib_res/resource$(extres)
#$(bindir)/xwidget: $(lib)
#$(bindir)/xwidget: $(libdir)/libpib$(exta)
ifeq (ms,$(tools)) ########################################################## [
#$(bindir)/xwidget: xwidget$(exto)
#	mkdir -p $(@D)
#	$(MSCL) $^ $(MSLINK_OUTPUT_OPTION) -link $(MSLINK)
else ###################################################################### ] [
#$(bindir)/xwidget: xwidget$(exto)
#	mkdir -p $(@D)
#  recipe to execute (built-in):
#	$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
endif ####################################################################### ]
all: $(sodir)/gen_yapib$(extso)
$(sodir)/gen_yapib$(extso): $(libdir)/yapib_res/resource$(extres)
$(sodir)/gen_yapib$(extso): $(lib)
#$(sodir)/gen_yapib$(extso): $(libdir)/$(call strip,libpib$(exta))
$(sodir)/gen_yapib$(extso): $(libdir)/libpib$(exta)
ifeq (ms,$(tools)) # [
$(sodir)/gen_yapib$(extso): $(libdir)/gen_yapib$(exto)
	mkdir -p $(@D)
	$(MSCL) $^ $(MSLINK_OUTPUT_OPTION) -LD -link $(MSLINK)
else # ] [
$(sodir)/gen_yapib$(extso): $(libdir)/gen_yapib$(exto)
	mkdir -p $(@D)
	$(CC) -mwindows -shared $(CFLAGS) $(CPPFLAGS) $^ $(LDFLAGS) $(LDLIBS) -o $@ -static
endif # ]
$(libdir)/gen_yapib.obj: gen_yapib.c
	mkdir -p $(@D)
	$(MSCOMPILE.c) $(MSCOMPILE_OUTPUT_OPTION) $<
$(libdir)/gen_yapib.o: gen_yapib.c
	mkdir -p $(@D)
	$(COMPILE.c) $(OUTPUT_OPTION) $<
$(libdir)/yapib_res/resource.res: $(srcdir)/yapib_res/resource.rc
	mkdir -p $(@D)
	$(MSRC) -Fo$(shell cygpath -w $@) $<
$(libdir)/yapib_res/resource.o: $(srcdir)/yapib_res/resource.rc
	mkdir -p $(@D)
	windres -i $< -o $@
$(lib): $(libdir)
$(libdir):
	mkdir -p $@
members+=$(lib)(yapib$(exto))
members+=$(lib)(yapib_list$(exto))
members+=$(lib)(yapib_node$(exto))
#
members+=$(lib)(yapib_control2_main$(exto))
#
$(lib): $(members)
os+=$(members)
os+=$(libdir)/gen_yapib$(exto)

header+=$(srcdir)/version.mak
header+=$(PWD)/Makefile
header+=$(includedir)/pib.h
header+=$(includedir)/yapib.h
header+=$(includedir)/yapib_res/resource.h
$(os): $(header)

$(includedir)/yapib.h: $(srcdir)/yapib.h
	mkdir -p $(@D)
	cp $< $(@D)
	touch $@
$(includedir)/yapib_res/resource.h: $(srcdir)/yapib_res/resource.h
	mkdir -p $(@D)
	cp $< $(@D)
	touch $@
.PHONY: clean
clean:
	rm -f $(sodir)/gen_yapib$(extso)
	rm -f $(libdir)/yapib_res/resource$(extres)
	rm -f $(lib)
	rm -f $(includedir)/yapib.h
	rm -f $(includedir)/yapib_res/resource.h
