1# This file is part of the FreeType project.
2#
3# It builds the library and test programs for gcc under Win32.
4#
5# You will need GNU make.
6#
7# Use this file while in the 'test' directory with the following statement:
8#
9#   make -f arch/win32/Makefile.gcc
10#
11#
12# If you have the GNU gettext package installed, you can also try
13#
14#   make -f arch/win32/Makefile.gcc HAVE_GETTEXT
15
16ARCH = arch/win32
17FT_MAKEFILE = $(ARCH)/Makefile.gcc
18
19CC = gcc
20
21LIBDIR = ../lib
22INCDIRS = -I$(LIBDIR) -I$(LIBDIR)/$(ARCH) -I. -I$(LIBDIR)/extend
23
24ifndef GETTEXT
25GETTEXT=NO_GETTEXT
26endif
27
28CFLAGS = -Wall -ansi -O2 -g $(INCDIRS)
29# -D$(GETTEXT)
30# CFLAGS = -ansi -Wall -O2 -s $(INCDIRS) -D$(GETTEXT)
31
32
33# graphic Windows driver
34GDRIVER = $(ARCH)/gw_win32.c
35
36SRC = arabic.c \
37      common.c \
38      ftdump.c \
39      fterror.c \
40      ftlint.c \
41      ftmetric.c \
42      ftsbit.c \
43      ftstring.c \
44      ftstrpnm.c \
45      ftstrtto.c \
46      fttimer.c \
47      ftview.c \
48      ftzoom.c
49
50GSRC = gmain.c display.c blitter.c $(GDRIVER)
51GOBJ = $(GSRC:.c=.o)
52
53
54%.o: %.c
55	$(CC) $(CFLAGS) -c -o $@ $<
56
57
58ifeq ($(GETTEXT),HAVE_GETTEXT)
59%.exe:
60	$(CC) $(CFLAGS) -o $@ $^ -lintl
61else
62%.exe:
63	$(CC) $(CFLAGS) -o $@ $^
64endif
65
66
67EXEFILES = ftdump.exe \
68           fterror.exe \
69           ftlint.exe \
70           ftmetric.exe \
71           ftsbit.exe \
72           ftstring.exe \
73           ftstrpnm.exe \
74           ftstrtto.exe \
75           fttimer.exe \
76           ftview.exe \
77           ftzoom.exe
78
79.PHONY: all debug freetype freetype_debug \
80        clean distclean do_clean depend
81
82
83all: freetype $(EXEFILES)
84
85debug: freetype_debug $(EXEFILES)
86
87HAVE_GETTEXT:
88	$(MAKE) -f $(FT_MAKEFILE) GETTEXT=HAVE_GETTEXT all
89
90freetype:
91	$(MAKE) -C $(LIBDIR) -f $(FT_MAKEFILE) all
92
93freetype_debug:
94	$(MAKE) -C $(LIBDIR) -f $(FT_MAKEFILE) debug
95
96ftzoom.exe: $(GOBJ) ftzoom.o common.o $(LIBDIR)/libttf.a
97ftview.exe: $(GOBJ) ftview.o common.o $(LIBDIR)/libttf.a
98ftlint.exe: ftlint.o common.o $(LIBDIR)/libttf.a
99ftdump.exe: ftdump.o common.o $(LIBDIR)/libttf.a
100fterror.exe: fterror.o common.o $(LIBDIR)/libttf.a
101ftstring.exe: $(GOBJ) ftstring.o common.o $(LIBDIR)/libttf.a
102fttimer.exe: $(GOBJ) fttimer.o common.o $(LIBDIR)/libttf.a
103ftstrpnm.exe: ftstrpnm.o common.o $(LIBDIR)/libttf.a
104ftsbit.exe: ftsbit.o common.o $(LIBDIR)/libttf.a
105ftmetric.exe: ftmetric.o common.o $(LIBDIR)/libttf.a
106ftstrtto.exe: $(GOBJ) ftstrtto.o common.o arabic.o $(LIBDIR)/libttf.a
107
108
109clean: do_clean
110	$(MAKE) -C $(LIBDIR) -f $(FT_MAKEFILE) clean
111
112distclean: do_clean
113	$(MAKE) -C $(LIBDIR) -f $(FT_MAKEFILE) distclean
114	-del dep.end
115	-del *.exe
116	-del core
117
118do_clean:
119	-del *.o
120	-del response
121	-del $(GDRIVER:.c=.o)
122
123depend: $(SRC) $(GSRC)
124	$(MAKE) -C $(LIBDIR) -f $(FT_MAKEFILE) depend
125	$(CC) -E -M $(INCDIRS) $^ > dep.end
126
127ifeq (dep.end,$(wildcard dep.end))
128  include dep.end
129endif
130
131# end of Makefile.gcc
132