freetype2/config/win32/w32-gcc.mk

142 lines
3.2 KiB
Makefile

#*******************************************************************
#*
#* 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