219 lines
5.5 KiB
Plaintext
219 lines
5.5 KiB
Plaintext
#
|
|
# FreeType 2 configuration rules templates for Unix + configure
|
|
#
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
ifndef TOP
|
|
TOP := .
|
|
endif
|
|
TOP := $(shell cd $(TOP); pwd)
|
|
|
|
DELETE := @RMF@
|
|
DELDIR := @RMDIR@
|
|
SEP := /
|
|
HOSTSEP := $(SEP)
|
|
BUILD := $(TOP)/builds/unix
|
|
PLATFORM := unix
|
|
CC := @CC@
|
|
|
|
INSTALL := @INSTALL@
|
|
INSTALL_DATA := @INSTALL_DATA@
|
|
MKINSTALLDIRS := $(BUILD)/mkinstalldirs
|
|
|
|
LIBTOOL := $(BUILD)/libtool
|
|
|
|
|
|
# don't use `:=' here since the path stuff will be included after this file
|
|
#
|
|
FTSYS_SRC = @FTSYS_SRC@
|
|
|
|
DISTCLEAN += $(BUILD)/config.cache \
|
|
$(BUILD)/config.log \
|
|
$(BUILD)/config.status \
|
|
$(BUILD)/unix.mk \
|
|
$(BUILD)/ftconfig.h \
|
|
$(LIBTOOL)
|
|
|
|
|
|
# Standard installation variables.
|
|
#
|
|
prefix := @prefix@
|
|
exec_prefix := @exec_prefix@
|
|
libdir := @libdir@
|
|
bindir := @bindir@
|
|
includedir := @includedir@
|
|
|
|
version_info := @version_info@
|
|
|
|
|
|
# The directory where all object files are placed.
|
|
#
|
|
# This lets you build the library in your own directory with something like
|
|
#
|
|
# set TOP=.../path/to/freetype2/top/dir...
|
|
# set OBJ_DIR=.../path/to/obj/dir
|
|
# make -f $TOP/Makefile setup [options]
|
|
# make -f $TOP/Makefile
|
|
#
|
|
ifndef OBJ_DIR
|
|
OBJ_DIR := $(shell cd $(TOP)/obj; pwd)
|
|
endif
|
|
|
|
|
|
# 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 (for standard and static libraries). This can be
|
|
# .o, .tco, .obj, etc., depending on the platform.
|
|
#
|
|
O := lo
|
|
SO := o
|
|
|
|
# The library file extension (for standard and static libraries). This can
|
|
# be .a, .lib, etc., depending on the platform.
|
|
#
|
|
A := la
|
|
SA := 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'.
|
|
#
|
|
I := -I
|
|
|
|
|
|
# C flag used to define a macro before the compilation of a given source
|
|
# object. Usually is `-D' like in `-DDEBUG'.
|
|
#
|
|
D := -D
|
|
|
|
|
|
# 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
|
|
|
|
|
|
# Target flag.
|
|
#
|
|
T := -o # Don't remove this comment line! We need the space after `-o'.
|
|
|
|
|
|
# C flags
|
|
#
|
|
# These should concern: debug output, optimization & warnings.
|
|
#
|
|
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
|
# ANSI compliance.
|
|
#
|
|
CFLAGS := -c @XX_CFLAGS@ @CFLAGS@
|
|
|
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
|
#
|
|
ANSIFLAGS := @XX_ANSIFLAGS@
|
|
|
|
# C compiler to use -- we use libtool!
|
|
#
|
|
#
|
|
CCraw := $(CC)
|
|
CC := $(LIBTOOL) --mode=compile $(CCraw)
|
|
|
|
# Linker flags.
|
|
#
|
|
LDFLAGS := @LDFLAGS@
|
|
|
|
|
|
ifdef BUILD_FREETYPE
|
|
|
|
# Now include the main sub-makefile. It contains all the rules used to
|
|
# build the library with the previous variables defined.
|
|
#
|
|
include $(TOP)/builds/freetype.mk
|
|
|
|
|
|
# The cleanup targets.
|
|
#
|
|
clean_freetype: clean_freetype_unix
|
|
distclean_freetype: distclean_freetype_unix
|
|
|
|
|
|
# Unix installation and deinstallation targets.
|
|
install: $(FT_LIBRARY)
|
|
$(MKINSTALLDIRS) $(libdir) \
|
|
$(includedir)/freetype/config \
|
|
$(includedir)/freetype/internal
|
|
$(LIBTOOL) --mode=install $(INSTALL) $(FT_LIBRARY) $(libdir)
|
|
-for P in $(PUBLIC_H) ; do \
|
|
$(INSTALL_DATA) $$P $(includedir)/freetype ; \
|
|
done
|
|
-for P in $(BASE_H) ; do \
|
|
$(INSTALL_DATA) $$P $(includedir)/freetype/internal ; \
|
|
done
|
|
-for P in $(CONFIG_H) ; do \
|
|
$(INSTALL_DATA) $$P $(includedir)/freetype/config ; \
|
|
done
|
|
|
|
uninstall:
|
|
-$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(LIBRARY).$A
|
|
-$(DELETE) $(includedir)/freetype/config/*
|
|
-$(DELDIR) $(includedir)/freetype/config
|
|
-$(DELETE) $(includedir)/freetype/internal/*
|
|
-$(DELDIR) $(includedir)/freetype/internal
|
|
-$(DELETE) $(includedir)/freetype/*
|
|
-$(DELDIR) $(includedir)/freetype
|
|
|
|
|
|
# Unix cleaning and distclean rules.
|
|
#
|
|
clean_freetype_unix:
|
|
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
|
|
-$(DELETE) $(patsubst %.$O,%.$(SO),$(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)) \
|
|
$(CLEAN)
|
|
|
|
distclean_freetype_unix: clean_freetype_unix
|
|
-$(DELETE) $(FT_LIBRARY)
|
|
-$(DELETE) $(OBJ_DIR)/.libs/*
|
|
-$(DELDIR) $(OBJ_DIR)/.libs
|
|
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
|
|
|
|
|
# Librarian to use to build the library
|
|
#
|
|
FT_LIBRARIAN := $(LIBTOOL) --mode=link $(CCraw)
|
|
|
|
|
|
# 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)
|
|
$(FT_LIBRARIAN) -o $@ $(OBJECTS_LIST) \
|
|
-rpath $(libdir) -version-info $(version_info)
|
|
|
|
endif
|
|
|
|
# EOF
|