## Makefile for building the gmodule DLL with gcc for mingw. The build
## uses tools running on cygwin, however.

## Use: make -f makefile.mingw

TOP = ../..

include ../build/win32/make.mingw

################################################################

# Nothing much configurable below

INCLUDES = -I .. -I ../glib -I .
DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GModule\" -DG_ENABLE_DEBUG

all : \
	gmoduleconf.h \
	libgmodule-2.0.a

gmodule_OBJECTS = \
	gmodule.o

gmoduleconf.h: gmoduleconf.h.win32
	cp $< $@

################ The gmodule DLL

libgmodule-2.0.a : $(gmodule_OBJECTS) gmodule.def gmodule-2.0.rc
	$(BUILD_DLL) gmodule-2.0 @LT_CURRENT@:@LT_REVISION@:@LT_AGE@ $(CFLAGS) gmodule.def $(gmodule_OBJECTS) -L ../glib -lglib-2.0

gmodule-2.0.rc : gmodule.rc
	cp $< $@

################ Other stuff

clean::
	-rm gmoduleconf.h
