This commit was manufactured by cvs2svn to create branch 'captive'.
[reactos.git] / subsys / win32k / freetype / builds / win32 / w32-gcc.mk
1 #
2 # FreeType 2 Configuration rules for Win32 + GCC
3 #
4
5
6 # Copyright 1996-2000 by
7 # David Turner, Robert Wilhelm, and Werner Lemberg.
8 #
9 # This file is part of the FreeType project, and may only be used, modified,
10 # and distributed under the terms of the FreeType project license,
11 # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
12 # indicate that you have read the license and understand and accept it
13 # fully.
14 #
15 # NOTE: This version requires that GNU Make is invoked from the Windows
16 #       Shell (_not_ Cygwin BASH)!
17 #
18
19 ifndef TOP
20   TOP := .
21 endif
22
23 DELETE   := del
24 SEP      := /
25 HOSTSEP  := $(strip \ )
26 BUILD    := $(TOP)/builds/win32
27 PLATFORM := win32
28 CC       := gcc
29
30 # The directory where all object files are placed.
31 #
32 # Note that this is not $(TOP)/obj!
33 # This lets you build the library in your own directory with something like
34 #
35 #   set TOP=.../path/to/freetype2/top/dir...
36 #   mkdir obj
37 #   make -f %TOP%/Makefile setup [options]
38 #   make -f %TOP%/Makefile
39 #
40 OBJ_DIR := obj
41
42
43 # The directory where all library files are placed.
44 #
45 # By default, this is the same as $(OBJ_DIR), however, this can be changed
46 # to suit particular needs.
47 #
48 LIB_DIR := $(OBJ_DIR)
49
50
51 # The object file extension (for standard and static libraries).  This can be
52 # .o, .tco, .obj, etc., depending on the platform.
53 #
54 O  := o
55 SO := o
56
57 # The library file extension (for standard and static libraries).  This can
58 # be .a, .lib, etc., depending on the platform.
59 #
60 A  := a
61 SA := a
62
63
64 # The name of the final library file.  Note that the DOS-specific Makefile
65 # uses a shorter (8.3) name.
66 #
67 LIBRARY := libfreetype
68
69
70 # Path inclusion flag.  Some compilers use a different flag than `-I' to
71 # specify an additional include path.  Examples are `/i=' or `-J'.
72 #
73 I := -I
74
75
76 # C flag used to define a macro before the compilation of a given source
77 # object.  Usually is `-D' like in `-DDEBUG'.
78 #
79 D := -D
80
81
82 # The link flag used to specify a given library file on link.  Note that
83 # this is only used to compile the demo programs, not the library itself.
84 #
85 L := -l
86
87
88 # Target flag.
89 #
90 T := -o # Don't remove this comment line!  We need the space after `-o'.
91
92
93 # C flags
94 #
95 #   These should concern: debug output, optimization & warnings.
96 #
97 #   Use the ANSIFLAGS variable to define the compiler flags used to enfore
98 #   ANSI compliance.
99 #
100 ifndef CFLAGS
101   CFLAGS := -c -g -O6 -Wall
102 endif
103
104 # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
105 #
106 ANSIFLAGS := -ansi -pedantic
107
108
109 ifdef BUILD_FREETYPE
110
111   # Now include the main sub-makefile.  It contains all the rules used to
112   # build the library with the previous variables defined.
113   #
114   include $(TOP)/builds/freetype.mk
115
116   # The cleanup targets.
117   #
118   clean_freetype: clean_freetype_dos
119   distclean_freetype: distclean_freetype_dos
120
121   # Librarian to use to build the static library
122   #
123   FT_LIBRARIAN := $(AR) -r
124
125
126   # This final rule is used to link all object files into a single library. 
127   # It is part of the system-specific sub-Makefile because not all
128   # librarians accept a simple syntax like
129   #
130   #   librarian library_file {list of object files} 
131   #
132   $(FT_LIBRARY): $(OBJECTS_LIST)
133           -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
134           $(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
135
136 endif
137
138 # EOF