diff options
Diffstat (limited to 'builds/freetype.mk')
-rw-r--r-- | builds/freetype.mk | 85 |
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 |