| #******************************************************************* |
| #* |
| #* FreeType 2 Configuration rules for Win32 + GCC |
| #* |
| #* Copyright 1996-2000 by |
| #* David Turner, Robert Wilhelm, and Werner Lemberg. |
| #* |
| #* This file is part of the FreeType project, and may only be used |
| #* modified and distributed under the terms of the FreeType project |
| #* license, LICENSE.TXT. By continuing to use, modify, or distribute |
| #* this file you indicate that you have read the license and |
| #* understand and accept it fully. |
| #* |
| #* Please read the file "freetype/docs/config.txt" to understand |
| #* what this file does.. |
| #* |
| #* |
| #* NOTE : This version requires that GNU Make be invoked from the |
| #* Windows Shell (_not_ Cygwin BASH !!) |
| #* |
| #******************************************************************* |
| |
| ifndef TOP |
| TOP := . |
| endif |
| |
| DELETE := del |
| SEP := / |
| HOSTSEP := $(strip \ ) |
| BUILD := $(TOP)/config/win32 |
| PLATFORM := win32 |
| CC := gcc |
| |
| # the directory where all object files are placed |
| # |
| # Note that this is not $(TOP)/obj !! |
| # This lets you build the library in your own directory |
| # with something like : |
| # |
| # set TOP=....../path/to/freetype2/top/dir... |
| # mkdir obj |
| # make -f %TOP%/Makefile setup [options] |
| # make -f %TOP%/Makefile |
| # |
| # |
| OBJ_DIR := obj |
| |
| |
| # the directory where all library files are placed |
| # |
| # by default, this is the same as OBJ_DIR, however, this can be |
| # changed to suit particular needs.. |
| # |
| LIB_DIR := $(OBJ_DIR) |
| |
| |
| # the object file extension, this can be .o, .tco, .obj, etc.. |
| # depending on the platform |
| # |
| O := o |
| |
| # the library file extension, this can be .a, .lib, etc.. |
| # depending on the platform |
| # |
| A := a |
| |
| |
| # The name of the final library file. |
| # Note that the DOS-specific Makefile uses a shorter (8.3) name |
| # |
| LIBRARY := libfreetype |
| |
| |
| # path inclusion flag. |
| # |
| # Some compilers use a different flag than '-I' to specify an |
| # additional include path. Examples are "/i=" or "-J", etc... |
| # |
| I := -I |
| |
| |
| # The link flag used to specify a given library file on link. |
| # Note that this is only used to compile the demo programs, not |
| # the library itself. |
| # |
| L := -l |
| |
| |
| # C flag used to define a macro before the compilation of a given |
| # source object. Usually is '-D' like in "-DDEBUG" |
| # |
| D := -D |
| |
| |
| # Target flag - beware, there is a space after the 'o' !! |
| # |
| # |
| T := -o |
| |
| # C flags |
| # |
| # These should concern : |
| # |
| # - debug output |
| # - optimization |
| # - warnings |
| # - ansi compliance.. |
| # |
| ifndef CFLAGS |
| CFLAGS := -c -g -O6 -Wall |
| endif |
| |
| # ANSIFLAGS : put there the flags used to make your compiler ANSI-compliant |
| # nothing (if it already is by default like LCC). |
| # |
| ANSIFLAGS := -ansi -pedantic |
| |
| ifdef BUILD_FREETYPE |
| |
| include $(TOP)/config/freetype.mk |
| |
| clean_freetype: clean_freetype_dos |
| distclean_freetype: distclean_freetype_dos |
| |
| # Librarian to use to build the static library |
| # |
| FT_LIBRARIAN := $(AR) -r |
| |
| |
| # This final rule is used to link all object files into a single |
| # library. It is part of the system-specific sub-Makefile because not |
| # all librarians accept a simple syntax like : |
| # |
| # librarian library_file {list of object files} |
| # |
| $(FT_LIBRARY): $(OBJECTS_LIST) |
| -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul |
| $(FT_LIBRARIAN) $@ $(OBJECTS_LIST) |
| |
| endif |
| |