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