1#
2# FreeType 2 gcc-specific with NO OPTIMIZATIONS + DEBUGGING
3#
4
5
6# Copyright 1996-2018 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
16# Compiler command line name
17#
18CC           := gcc
19COMPILER_SEP := /
20
21
22# The object file extension (for standard and static libraries).  This can be
23# .o, .tco, .obj, etc., depending on the platform.
24#
25O  := o
26SO := o
27
28# The library file extension (for standard and static libraries).  This can
29# be .a, .lib, etc., depending on the platform.
30#
31A  := a
32SA := a
33
34
35# Path inclusion flag.  Some compilers use a different flag than `-I' to
36# specify an additional include path.  Examples are `/i=' or `-J'.
37#
38I := -I
39
40
41# C flag used to define a macro before the compilation of a given source
42# object.  Usually it is `-D' like in `-DDEBUG'.
43#
44D := -D
45
46
47# The link flag used to specify a given library file on link.  Note that
48# this is only used to compile the demo programs, not the library itself.
49#
50L := -l
51
52
53# Target flag.
54#
55T := -o$(space)
56
57
58# C flags
59#
60#   These should concern: debug output, optimization & warnings.
61#
62#   Use the ANSIFLAGS variable to define the compiler flags used to enfore
63#   ANSI compliance.
64#
65ifndef CFLAGS
66  ifeq ($(findstring g++,$(CC)),)
67    nested_externs    := -Wnested-externs
68    strict_prototypes := -Wstrict-prototypes
69  endif
70
71  CFLAGS := -c -g -O0 \
72            -Wall \
73            -W \
74            -Wundef \
75            -Wshadow \
76            -Wpointer-arith \
77            -Wwrite-strings \
78            -Wredundant-decls \
79            -Wno-long-long \
80            $(nested_externs) \
81            $(strict_prototypes)
82endif
83
84# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
85#
86ANSIFLAGS := -ansi -pedantic
87
88
89# Library linking
90#
91CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
92LINK_LIBRARY   = $(AR) -r $@ $(OBJECTS_LIST)
93
94
95# EOF
96