summaryrefslogtreecommitdiff
path: root/builds/freetype.mk
diff options
context:
space:
mode:
Diffstat (limited to 'builds/freetype.mk')
-rw-r--r--builds/freetype.mk85
1 files changed, 35 insertions, 50 deletions
diff --git a/builds/freetype.mk b/builds/freetype.mk
index 9b5921cc9..6948ab82d 100644
--- a/builds/freetype.mk
+++ b/builds/freetype.mk
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2002 by
+# Copyright 1996-2000, 2001, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -20,7 +20,7 @@
# The following variables (set by other Makefile components, in the
# environment, or on the command line) are used:
#
-# BUILD The architecture dependent directory,
+# BUILD_DIR The architecture dependent directory,
# e.g. `$(TOP_DIR)/builds/unix'.
#
# OBJ_DIR The directory in which object files are created.
@@ -63,6 +63,7 @@
# `distclean' target.
#
# TOP_DIR, SEP,
+# COMPILER_SEP,
# LIBRARY, CC,
# A, I, O, T Check `config.mk' for details.
@@ -83,43 +84,24 @@ multi: objects library
# The FreeType source directory, usually `./src'.
#
-SRC := $(TOP_DIR)$(SEP)src
-
+SRC_DIR := $(TOP_DIR)/src
# The directory where the base layer components are placed, usually
# `./src/base'.
#
-BASE_DIR := $(SRC)$(SEP)base
-
-# The build header file used to define all public header file names
-# as macro.
-#
-ifndef FT_BUILD_H
- FT_BUILD_H := $(TOP_DIR)$(SEP)include$(SEP)ft2build.h
- FTBUILD_CMD :=
-else
- FTBUILD_CMD = $(D)FT_BUILD_H=$(FT_BUILD_H)
-endif
+BASE_DIR := $(SRC_DIR)/base
-# A few short-cuts in order to avoid typing $(SEP) all the time for the
-# directory separator.
-#
-# For example: $(SRC_) equals to `./src/' where `.' is $(TOP_DIR).
+# Other derived directories.
#
-#
-SRC_ := $(SRC)$(SEP)
-BASE_ := $(BASE_DIR)$(SEP)
-OBJ_ := $(OBJ_DIR)$(SEP)
-LIB_ := $(LIB_DIR)$(SEP)
-PUBLIC_ := $(TOP_DIR)$(SEP)include$(SEP)freetype$(SEP)
-INTERNAL_ := $(PUBLIC_)internal$(SEP)
-CONFIG_ := $(PUBLIC_)config$(SEP)
-CACHE_ := $(PUBLIC_)cache$(SEP)
+PUBLIC_DIR := $(TOP_DIR)/include/freetype
+INTERNAL_DIR := $(PUBLIC_DIR)/internal
+CONFIG_DIR := $(PUBLIC_DIR)/config
+CACHE_DIR := $(PUBLIC_DIR)/cache
# The final name of the library file.
#
-PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
+PROJECT_LIBRARY := $(LIB_DIR)/$(LIBRARY).$A
# include paths
@@ -130,7 +112,8 @@ PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
# in the `freetype/builds/<system>' directory, as these
# files will override the default sources.
#
-INCLUDES := $(OBJ_DIR) $(BUILD) $(TOP_DIR)$(SEP)include
+INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) $(BUILD_DIR) \
+ $(TOP_DIR)/include)
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
@@ -164,46 +147,47 @@ OBJECTS_LIST :=
# This is used to simplify the dependency rules -- if one of these files
# changes, the whole library is recompiled.
#
-PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
-BASE_H := $(wildcard $(INTERNAL_)*.h)
-CONFIG_H := $(wildcard $(CONFIG_)*.h) \
- $(wildcard $(BUILD)$(SEP)freetype$(SEP)config$(SEP)*.h)
-CACHE_H := $(wildcard $(CACHE_)*.h)
+PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h)
+BASE_H := $(wildcard $(INTERNAL_DIR)/*.h)
+CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
+ $(wildcard $(BUILD_DIR)/freetype/config/*.h)
+CACHE_H := $(wildcard $(CACHE_DIR)/*.h)
+DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
-FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H)
+FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H) $(DEVEL_H)
# ftsystem component
#
ifndef FTSYS_SRC
- FTSYS_SRC = $(BASE_)ftsystem.c
+ FTSYS_SRC = $(BASE_DIR)/ftsystem.c
endif
-FTSYS_OBJ = $(OBJ_)ftsystem.$O
+FTSYS_OBJ = $(OBJ_DIR)/ftsystem.$O
OBJECTS_LIST += $(FTSYS_OBJ)
$(FTSYS_OBJ): $(FTSYS_SRC) $(FREETYPE_H)
- $(FT_COMPILE) $T$@ $<
+ $(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# ftdebug component
#
ifndef FTDEBUG_SRC
- FTDEBUG_SRC = $(BASE_)ftdebug.c
+ FTDEBUG_SRC = $(BASE_DIR)/ftdebug.c
endif
-FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
+FTDEBUG_OBJ = $(OBJ_DIR)/ftdebug.$O
OBJECTS_LIST += $(FTDEBUG_OBJ)
$(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H)
- $(FT_COMPILE) $T$@ $<
+ $(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# Include all rule files from FreeType components.
#
-include $(wildcard $(SRC)/*/rules.mk)
+include $(wildcard $(SRC_DIR)/*/rules.mk)
# ftinit component
@@ -217,13 +201,13 @@ include $(wildcard $(SRC)/*/rules.mk)
# which contain additional include paths and macros used to compile the
# single `ftinit.c' source.
#
-FTINIT_SRC := $(BASE_)ftinit.c
-FTINIT_OBJ := $(OBJ_)ftinit.$O
+FTINIT_SRC := $(BASE_DIR)/ftinit.c
+FTINIT_OBJ := $(OBJ_DIR)/ftinit.$O
OBJECTS_LIST += $(FTINIT_OBJ)
$(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H) $(FT_MODULE_LIST)
- $(FT_COMPILE) $T$@ $<
+ $(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# All FreeType library objects
@@ -255,7 +239,7 @@ objects: $(OBJECTS_LIST)
library: $(PROJECT_LIBRARY)
.c.$O:
- $(FT_COMPILE) $T$@ $<
+ $(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
.PHONY: clean_project_std distclean_project_std
@@ -280,10 +264,10 @@ distclean_project_std: clean_project_std
# working correctly on Win9x.
#
clean_project_dos:
- -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) $(NO_OUTPUT)
+ -$(DELETE) $(subst /,\,$(OBJ)/*.$O $(CLEAN) $(NO_OUTPUT))
distclean_project_dos: clean_project_dos
- -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(DISTCLEAN) $(NO_OUTPUT)
+ -$(DELETE) $(subst /,\,$(PROJECT_LIBRARY) $(DISTCLEAN) $(NO_OUTPUT))
.PHONY: remove_config_mk
@@ -291,7 +275,7 @@ distclean_project_dos: clean_project_dos
# Remove configuration file (used for distclean).
#
remove_config_mk:
- -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK)) $(NO_OUTPUT)
+ -$(DELETE) $(subst /,$(SEP),$(CONFIG_MK) $(NO_OUTPUT))
.PHONY: clean distclean
@@ -304,4 +288,5 @@ remove_config_mk:
clean: clean_project
distclean: distclean_project remove_config_mk
+
# EOF