summaryrefslogtreecommitdiff
path: root/gdk/win32/makefile.cygwin
blob: af49573489eddcb06712643090728909196232e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
## Makefile for building the machine dependent part of GDK with gcc on cygwin
## Use: make -f makefile.cygwin 

# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
# We use the wntab32x.lib archive library directly (copy it as libwntab32x.a).
WTKIT = ../../../wtkit126

OPTIMIZE = -g -O

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

# Nothing much configurable below

CC = gcc -mno-cygwin -mpentium -fnative-struct

GLIB_VER=1.3
GTK_VER=1.3

GLIB = ../../../glib
CFLAGS = $(OPTIMIZE) -I . -I .. -I ../.. -I $(WTKIT)/include -I $(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"

all: \
	../../config.h \
	../gdkconfig.h \
	libgdk-win32.a \
	gdk-win32res.o \
	libwntab32x.a

gdk_win32_OBJECTS = \
	gdkcc-win32.o \
	gdkcolor-win32.o \
	gdkcursor-win32.o \
	gdkdnd-win32.o \
	gdkdrawable-win32.o \
	gdkevents-win32.o \
	gdkfont-win32.o \
	gdkgc-win32.o \
	gdkglobals-win32.o \
	gdkim-win32.o \
	gdkimage-win32.o \
	gdkinput-win32.o \
	gdkmain-win32.o \
	gdkpixmap-win32.o \
	gdkproperty-win32.o \
	gdkregion-win32.o \
	gdkselection-win32.o \
	gdkvisual-win32.o \
	gdkwin32id.o \
	gdkwindow-win32.o

../../config.h : ../../config.h.win32
	cp ../../config.h.win32 ../../config.h

../gdkconfig.h : ../gdkconfig.h.win32
	cp ../gdkconfig.h.win32 ../gdkconfig.h

# Kludge to get the path to the win32 headers
WIN32APIHEADERS = $(shell echo "\#include <winver.h>" | $(CC) -M -E - | tail -1 | sed -e 's!/winver.h!!')

gdk-win32res.o : rc/gdk.rc gdk-build.tmp
	m4 -DBUILDNUMBER=`cat gdk-build.tmp` <rc/gdk.rc >gdk-win32res.rc
	windres --include-dir rc --include-dir $(WIN32APIHEADERS) gdk-win32res.rc gdk-win32res.o
	rm gdk-build.tmp gdk-win32res.rc

# The *.stamp files aren't distributed. Thus, this takes care of only
# tml building libraries with nonzero build number.

ifeq ($(wildcard gdk-build.stamp),gdk-build.stamp)
# Magic to bump the build number
gdk-build.tmp :
	bash -c "read number && echo $$[number+1]" <gdk-build.stamp >gdk-build.tmp
	cp gdk-build.tmp gdk-build.stamp
else
# Use zero as build number.
gdk-build.tmp :
	echo 0 >gdk-build.tmp
endif

libgdk-win32.a : $(gdk_win32_OBJECTS) 
	-rm -f $@
	$(AR) rv $@ $(gdk_win32_OBJECTS)

libwntab32x.a : $(WTKIT)/lib/i386/wntab32x.lib
	cp $(WTKIT)/lib/i386/wntab32x.lib libwntab32x.a

.SUFFIXES: .c .o .i

.c.o :
	$(CC) $(CFLAGS) -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $<

.c.i :
	$(CC) $(CFLAGS) -E -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $< >$@

clean:
	-rm *.exe *.o *.dll *.a *.exp *.base