mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
586d5b11a8
2000-05-04 Tor Lillqvist <tml@iki.fi> * makefile.cygwin.in * tests/makefile.cygwin.in: Include the common makefile snippet from ../build/win32. Maybe CVSROOT/modules should be changed so that the 'build' module is included within the glib module (and gtk+, and gimp, and maybe others later), in the same way as the 'macros' module is included in lots of GNOME CVS modules?
221 lines
6.5 KiB
Plaintext
221 lines
6.5 KiB
Plaintext
## Makefile for building the GLib, gmodule and gthread DLLs with
|
|
## gcc on mingw or cygwin.
|
|
## Use: make -f makefile.cygwin install
|
|
|
|
# Change this to wherever you want to install the DLLs. This directory
|
|
# should be in your PATH.
|
|
BIN = /bin
|
|
|
|
# This is the location of pthreads for Win32,
|
|
# see http://sourceware.cygnus.com/pthreads-win32/
|
|
# We want the 1999-05-30 snapshot.
|
|
PTHREADS = ../pthreads-snap-1999-05-30
|
|
PTHREAD_LIB = -L$(PTHREADS) -lpthread32
|
|
PTHREAD_INC = -I $(PTHREADS)
|
|
|
|
OPTIMIZE = -g -O
|
|
|
|
GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
|
|
|
|
TOP = ..
|
|
|
|
include $(TOP)/build/win32/make.mingw
|
|
|
|
################################################################
|
|
|
|
# Nothing much configurable below
|
|
|
|
DLLTOOL = dlltool
|
|
INSTALL = install
|
|
|
|
INCLUDES = -I .
|
|
DEFINES = -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib
|
|
|
|
all : \
|
|
config.h \
|
|
glibconfig.h \
|
|
glib-$(GLIB_VER).dll \
|
|
gmodule/gmoduleconf.h \
|
|
gmodule-$(GLIB_VER).dll \
|
|
gthread-$(GLIB_VER).dll \
|
|
testglib.exe \
|
|
testgmodule.exe \
|
|
testgdate.exe \
|
|
testgdateparser.exe
|
|
|
|
install : all
|
|
$(INSTALL) glib-$(GLIB_VER).dll $(BIN)
|
|
$(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
|
|
$(INSTALL) gthread-$(GLIB_VER).dll $(BIN)
|
|
|
|
glib_OBJECTS = \
|
|
garray.o \
|
|
gasyncqueue.o \
|
|
gcache.o \
|
|
gcompletion.o \
|
|
gdataset.o \
|
|
gdate.o \
|
|
gerror.o \
|
|
ghook.o \
|
|
ghash.o \
|
|
giochannel.o \
|
|
giowin32.o \
|
|
glist.o \
|
|
gmain.o \
|
|
gmem.o \
|
|
gmessages.o \
|
|
gnode.o \
|
|
gprimes.o \
|
|
gqueue.o \
|
|
grand.o \
|
|
gslist.o \
|
|
gthread.o \
|
|
gthreadpool.o \
|
|
gtimer.o \
|
|
gtree.o \
|
|
grel.o \
|
|
gstring.o \
|
|
gstrfuncs.o \
|
|
gscanner.o \
|
|
gutils.o \
|
|
gwin32.o \
|
|
glib-win32res.o
|
|
|
|
glibconfig.h: glibconfig.h.win32
|
|
cp glibconfig.h.win32 glibconfig.h
|
|
|
|
config.h: config.h.win32
|
|
cp config.h.win32 config.h
|
|
|
|
################ glib
|
|
|
|
# The *.stamp files aren't distributed. Thus, this takes care of only
|
|
# tml building libraries with nonzero build number.
|
|
|
|
ifeq ($(wildcard glib-build.stamp),glib-build.stamp)
|
|
# Bump the build number
|
|
glib-build.tmp :
|
|
bash -c "read number && echo $$[number+1]" <glib-build.stamp >glib-build.tmp
|
|
cp glib-build.tmp glib-build.stamp
|
|
else
|
|
# Use zero as build number.
|
|
glib-build.tmp :
|
|
echo 0 >glib-build.tmp
|
|
endif
|
|
|
|
glib-win32res.o : glib.rc glib-build.tmp
|
|
m4 -DBUILDNUMBER=`cat glib-build.tmp` <glib.rc >glib-win32res.rc
|
|
windres --include-dir $(WIN32APIHEADERS) glib-win32res.rc glib-win32res.o
|
|
rm glib-build.tmp glib-win32res.rc
|
|
|
|
glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
|
|
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -luser32 -lwsock32
|
|
|
|
|
|
################ gmodule
|
|
|
|
gmodule_OBJECTS = \
|
|
gmodule.o \
|
|
gmodule-win32res.o
|
|
|
|
# Unfortunately I couldn't use a pattern rule for this, so copy-paste
|
|
# from above.
|
|
ifeq ($(wildcard glib-build.stamp),glib-build.stamp)
|
|
gmodule-build.tmp :
|
|
bash -c "read number && echo $$[number+1]" <gmodule-build.stamp >gmodule-build.tmp
|
|
cp gmodule-build.tmp gmodule-build.stamp
|
|
else
|
|
gmodule-build.tmp :
|
|
echo 0 >gmodule-build.tmp
|
|
endif
|
|
|
|
gmodule-win32res.o : gmodule/gmodule.rc gmodule-build.tmp
|
|
m4 -DBUILDNUMBER=`cat gmodule-build.tmp` <gmodule/gmodule.rc >gmodule-win32res.rc
|
|
windres --include-dir $(WIN32APIHEADERS) gmodule-win32res.rc gmodule-win32res.o
|
|
rm gmodule-build.tmp gmodule-win32res.rc
|
|
|
|
|
|
gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule/gmodule.def
|
|
./build-dll gmodule $(GLIB_VER) gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER) -lwsock32
|
|
|
|
gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c
|
|
$(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c
|
|
|
|
gmodule/gmoduleconf.h: gmodule/gmoduleconf.h.win32
|
|
cp gmodule/gmoduleconf.h.win32 gmodule/gmoduleconf.h
|
|
|
|
################ gthread
|
|
|
|
gthread_OBJECTS = \
|
|
gthread-impl.o \
|
|
gthread-win32res.o
|
|
|
|
# Ditto copy-pasting
|
|
ifeq ($(wildcard glib-build.stamp),glib-build.stamp)
|
|
gthread-build.tmp :
|
|
bash -c "read number && echo $$[number+1]" <gthread-build.stamp >gthread-build.tmp
|
|
cp gthread-build.tmp gthread-build.stamp
|
|
else
|
|
gthread-build.tmp :
|
|
echo 0 >gthread-build.tmp
|
|
endif
|
|
|
|
gthread-win32res.o : gthread/gthread.rc gthread-build.tmp
|
|
m4 -DBUILDNUMBER=`cat gthread-build.tmp` <gthread/gthread.rc >gthread-win32res.rc
|
|
windres --include-dir $(WIN32APIHEADERS) gthread-win32res.rc gthread-win32res.o
|
|
rm gthread-build.tmp gthread-win32res.rc
|
|
|
|
|
|
gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) glib-$(GLIB_VER).dll gthread/gthread.def
|
|
./build-dll gthread $(GLIB_VER) gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER) $(PTHREAD_LIB)
|
|
|
|
gthread-impl.o : gthread/gthread-impl.c gthread/gthread-posix.c
|
|
$(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread-impl.c
|
|
|
|
################ test progs
|
|
|
|
testglib.exe : glib-$(GLIB_VER).dll testglib.o
|
|
$(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testgdate.exe : glib-$(GLIB_VER).dll testgdate.o
|
|
$(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testgdate.o : testgdate.c
|
|
$(CC) -c $(CFLAGS) testgdate.c
|
|
|
|
testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.o
|
|
$(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testgdateparser.o : testgdateparser.c
|
|
$(CC) -c $(CFLAGS) testgdateparser.c
|
|
|
|
testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.o libgplugin_a.dll libgplugin_b.dll
|
|
# Wow, do we really have to do it like this to get some symbols
|
|
# exported from a .exe? Apparently yes. Does the __declspec(dllexport)
|
|
# actually do anything in egcs-1.1.2?
|
|
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS)
|
|
$(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o
|
|
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS)
|
|
$(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o
|
|
$(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testgmodule.o : gmodule/testgmodule.c
|
|
$(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c
|
|
|
|
libgplugin_a.dll : libgplugin_a.o
|
|
./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER)
|
|
|
|
libgplugin_a.o : gmodule/libgplugin_a.c
|
|
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c
|
|
|
|
libgplugin_b.dll : libgplugin_b.o
|
|
./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER)
|
|
|
|
libgplugin_b.o : gmodule/libgplugin_b.c
|
|
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_b.c
|
|
|
|
################ other stuff
|
|
|
|
clean::
|
|
-rm config.h glibconfig.h gmodule/gmoduleconf.h
|