shithub: freetype+ttf2subf

ref: 7024ca1a37b7753e5c0de13330cb34fdbf28fb18
dir: /config/win32/w32-gcc.mk/

View raw version
#*******************************************************************
#*
#*  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