From d5553d35f3ca37e290b5eb5884de619baccf019a Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 13 Jun 2003 07:38:22 +0000 Subject: [PATCH] * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also. * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for EMX gcc compiler. * builds/dos/detect.mk: Add target `emx'. * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't like a trailing semicolon; add a dummy command. --- ChangeLog | 11 ++++++ builds/compiler/emx.mk | 81 +++++++++++++++++++++++++++++++++++++++ builds/compiler/watcom.mk | 3 +- builds/dos/detect.mk | 12 +++++- builds/dos/dos-emx.mk | 21 ++++++++++ 5 files changed, 125 insertions(+), 3 deletions(-) create mode 100644 builds/compiler/emx.mk create mode 100644 builds/dos/dos-emx.mk diff --git a/ChangeLog b/ChangeLog index 3ebe8a67a..7a05f5ba2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2003-06-13 Werner Lemberg + + * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also. + + * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for + EMX gcc compiler. + * builds/dos/detect.mk: Add target `emx'. + + * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't + like a trailing semicolon; add a dummy command. + 2003-06-12 Werner Lemberg * include/freetype/internal/psaux.h (T1_FieldType): Add diff --git a/builds/compiler/emx.mk b/builds/compiler/emx.mk new file mode 100644 index 000000000..f2be13ca6 --- /dev/null +++ b/builds/compiler/emx.mk @@ -0,0 +1,81 @@ +# +# FreeType 2 emx-specific definitions +# + + +# Copyright 2003 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. + + +# Compiler command line name +# +CC := set GCCOPT="-ansi -pedantic"; gcc +COMPILER_SEP := / + + +# The object file extension (for standard and static libraries). This can be +# .o, .tco, .obj, etc., depending on the platform. +# +O := o +SO := o + +# The library file extension (for standard and static libraries). This can +# be .a, .lib, etc., depending on the platform. +# +A := a +SA := a + + +# 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 it 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$(space) + +# C flags +# +# These should concern: debug output, optimization & warnings. +# +# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# ANSI compliance. +# +ifndef CFLAGS + CFLAGS := -c -g -O6 -Wall +endif + +# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. +# +ANSIFLAGS := + + +# Library linking +# +ifndef CLEAN_LIBRARY + CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) +endif +LINK_LIBRARY = $(foreach m,$(OBJECTS_LIST),$(AR) -r $@ $(m);) echo > nul + + +# EOF diff --git a/builds/compiler/watcom.mk b/builds/compiler/watcom.mk index f9e1764ab..12394be4b 100644 --- a/builds/compiler/watcom.mk +++ b/builds/compiler/watcom.mk @@ -79,6 +79,7 @@ ifndef CLEAN_LIBRARY endif LINK_LIBRARY = $(subst /,$(COMPILER_SEP), \ wlib -q -n $@; \ - $(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);)) + $(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);) \ + echo > nul) # EOF diff --git a/builds/dos/detect.mk b/builds/dos/detect.mk index 4dba521a7..b80686ce5 100644 --- a/builds/dos/detect.mk +++ b/builds/dos/detect.mk @@ -23,7 +23,8 @@ ifeq ($(PLATFORM),ansi) # `make' utility is run). # # We test for the COMSPEC environment variable, then run the `ver' - # command-line program to see if its output contains the word `Dos'. + # command-line program to see if its output contains the word `Dos' or + # `DOS'. # # If this is true, we are running a Dos-ish platform (or an emulation). # @@ -31,7 +32,7 @@ ifeq ($(PLATFORM),ansi) PLATFORM := dos else ifdef COMSPEC - is_dos := $(findstring Dos,$(shell ver)) + is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver))) # We try to recognize a Dos session under OS/2. The `ver' command # returns `Operating System/2 ...' there, so `is_dos' should be empty. @@ -63,6 +64,13 @@ ifeq ($(PLATFORM),dos) # additionally, we provide hooks for various other compilers # + ifneq ($(findstring emx,$(MAKECMDGOALS)),) # EMX gcc + CONFIG_FILE := dos-emx.mk + CC := gcc + emx: setup + .PHONY: emx + endif + ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C CONFIG_FILE := dos-tcc.mk CC := tcc diff --git a/builds/dos/dos-emx.mk b/builds/dos/dos-emx.mk new file mode 100644 index 000000000..6ea8f6d87 --- /dev/null +++ b/builds/dos/dos-emx.mk @@ -0,0 +1,21 @@ +# +# FreeType 2 configuration rules for the EMX gcc compiler +# + + +# Copyright 2003 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. + + +include $(TOP_DIR)/builds/dos/dos-def.mk +include $(TOP_DIR)/builds/compiler/emx.mk +include $(TOP_DIR)/builds/link_dos.mk + + +# EOF