diff options
author | Werner Lemberg <wl@gnu.org> | 2000-03-05 01:14:19 +0000 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2000-03-05 01:14:19 +0000 |
commit | febe3fbeba450a8916338e4bd7abdfe8f2e346f6 (patch) | |
tree | 0a86dcd3285f5d7caa5fe8156fa16bb0a74f8988 /Makefile | |
parent | 8c5c932e467cc55c71c7dc2785d4fa37016c20c7 (diff) | |
download | freetype2-febe3fbeba450a8916338e4bd7abdfe8f2e346f6.tar.gz |
A first check of FT2's Make system. Many smaller and larger bugs have been
fixed:
. Removing unused variables.
. detect.mk files now must provide $(CONFIG_FILE) and not $(CONFIG_RULE).
. ansi.mk will now be really used as a fallback if the detect mechanism
fails.
. ANSIFLAGS will now be really used (fixing a typo).
. `make clean' now works (again two typos).
. Detection of gcc on Unix has been fixed (using the `-v' option instead of
`--version').
. `make devel' now works (on Unix).
. Fixing *again* a bug in demos/graph/x11/rules.mk to allow multiple use
of `-L' compiler options.
. $(BASE_H) now contains a few more header files.
As usual, a lot of formatting (not finished yet).
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 139 |
1 files changed, 67 insertions, 72 deletions
@@ -1,108 +1,103 @@ -#****************************************************************************** -#* -#* FreeType build system - top-level Makefile -#* -#* This file is designed for GNU Make, do not use it with another Make tool. -#* It works as follows : -#* -#* - when invoked for the first time, this Makefile will include -#* the rules found in `freetype/config/detect.mk'. They are in charge -#* of detecting the current platform. -#* -#* A summary of the detection will be displayed, and the file `config.mk' -#* will be created in the current directory -#* -#* -#* - when invoked later, this Makefile will include the rules found in -#* `config.mk'. This sub-Makefile will define some system-specific -#* variables (like compiler, compilation flags, object suffix, etc..), -#* then include the rules found in `freetype/config/freetype.mk', -#* used to build the library. -#* -#* See the comments in `config/detect.mk' and `config/freetype.mk' for -#* more details on host platform detection and library builds.. -#* -#****************************************************************************** +# +# FreeType 2 build system -- top-level Makefile +# + + +# 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. -.PHONY: setup +# This file is designed for GNU Make, do not use it with another Make tool! +# +# It works as follows: +# +# - When invoked for the first time, this Makefile will include the rules +# found in `freetype/config/detect.mk'. They are in charge of detecting +# the current platform. # +# A summary of the detection will be displayed, and the file `config.mk' +# will be created in the current directory. +# +# - When invoked later, this Makefile will include the rules found in +# `config.mk'. This sub-Makefile will define some system-specific +# variables (like compiler, compilation flags, object suffix, etc.), then +# include the rules found in `freetype/config/freetype.mk', used to build +# the library. +# +# See the comments in `config/detect.mk' and `config/freetype.mk' for more +# details on host platform detection and library builds. + + +.PHONY: setup + # The variable TOP holds the path to the topmost directory in the FreeType -# engine source hierarchy. If it is not defined, default it to '.' +# engine source hierarchy. If it is not defined, default it to `.'. # ifndef TOP -TOP := . + TOP := . endif CONFIG_MK := config.mk -############################################################################# -# -# If no configuration sub-makefile is present, or if "setup" is the target -# to be built, run the auto-detection rules to figure out which configuration -# rules file to use.. +# If no configuration sub-makefile is present, or if `setup' is the target +# to be built, run the auto-detection rules to figure out which +# configuration rules file to use. # # Note that the configuration file is put in the current directory, which is -# not necessarily TOP. -# +# not necessarily $(TOP). -# if `config.mk' is not present, set "check_platform" and "first_time" +# If `config.mk' is not present, set `check_platform'. # ifeq ($(wildcard $(CONFIG_MK)),) -check_platform := 1 -first_time := 1 + check_platform := 1 endif -# if `setup' is one of the targets requested, set "check_platform" +# If `setup' is one of the targets requested, set `check_platform'. # ifneq ($(findstring setup,$(MAKECMDGOALS)),) -check_platform := 1 + check_platform := 1 endif - -######################################################################### -# -# include the automatic host platform detection rules when we need to +# Include the automatic host platform detection rules when we need to # check the platform. # -# ifdef check_platform -all: setup - - -# if the module list $(FT_MODULE_LIST) file is not present, -# generate it -# -modules: make_module_list setup - -include $(TOP)/config/detect.mk -include $(TOP)/config/modules.mk - -ifeq ($(wildcard $(FT_MODULE_LIST)),) -setup: make_module_list -endif + all: setup + # If the module list $(FT_MODULE_LIST) file is not present, generate it. + # + modules: make_module_list setup -# "setup" must be defined by the host platform detection rules -# to create the 'config.mk' file in the current directory. -# + include $(TOP)/config/detect.mk + include $(TOP)/config/modules.mk + ifeq ($(wildcard $(FT_MODULE_LIST)),) + setup: make_module_list + endif + # IMPORTANT: + # + # `setup' must be defined by the host platform detection rules to create + # the `config.mk' file in the current directory. else -######################################################################## -# -# A configuration sub-Makefile is present, simply run it.. -# -# -all: build_freetype + # A configuration sub-Makefile is present -- simply run it. + # + all: build_freetype -modules: make_module_list + modules: make_module_list -BUILD_FREETYPE := yes -include $(CONFIG_MK) + BUILD_FREETYPE := yes + include $(CONFIG_MK) -endif #test check_platform +endif # test check_platform +# EOF |