* 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
diff --git a/ChangeLog b/ChangeLog
index 3ebe8a6..7a05f5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2003-06-13 Werner Lemberg <wl@gnu.org>
+
+ * 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 <wl@gnu.org>
* 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 0000000..f2be13c
--- /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 f9e1764..12394be 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 4dba521..b80686c 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 0000000..6ea8f6d
--- /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