blob: f7c8277fe5f472f36d69f69b89fc6f2f9f875431 [file] [log] [blame]
Brian Paul642699a2003-06-16 14:32:44 +00001# Mesa 3-D graphics library
2# Version: 4.0
3#
4# Copyright (C) 1999 Brian Paul All Rights Reserved.
5#
6# Permission is hereby granted, free of charge, to any person obtaining a
7# copy of this software and associated documentation files (the "Software"),
8# to deal in the Software without restriction, including without limitation
9# the rights to use, copy, modify, merge, publish, distribute, sublicense,
10# and/or sell copies of the Software, and to permit persons to whom the
11# Software is furnished to do so, subject to the following conditions:
12#
13# The above copyright notice and this permission notice shall be included
14# in all copies or substantial portions of the Software.
15#
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23# DOS/DJGPP makefile v1.4 for Mesa
24#
25# Copyright (C) 2002 - Borca Daniel
Brian Paul9ec58c22003-08-19 15:52:51 +000026# Email : dborca@users.sourceforge.net
Brian Paul642699a2003-06-16 14:32:44 +000027# Web : http://www.geocities.com/dborca
28
29
30#
31# Available options:
32#
33# Environment variables:
34# CPU optimize for the given processor.
Brian Paul9ec58c22003-08-19 15:52:51 +000035# default = pentium
Brian Paul642699a2003-06-16 14:32:44 +000036# GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
37# or `mesa'.
38# default = mesa
Brian Paul9ec58c22003-08-19 15:52:51 +000039# GLIDE path to Glide3 SDK; used with FX.
40# default = $(TOP)/glide3
Brian Paul642699a2003-06-16 14:32:44 +000041# FX=1 build for 3dfx Glide3. Note that this disables
42# compilation of most DMesa code and requires fxMesa.
43# As a consequence, you'll need the DJGPP Glide3
44# library to build any application.
45# default = no
46# MATROX=1 build for Matrox Millennium I (MGA2064W) cards.
47# This is experimental and not intensively tested.
48# default = no
49# HAVE_X86=1 optimize for i386.
50# default = no
51# HAVE_MMX=1 allow MMX specializations, provided your assembler
52# supports MMX instruction set. However, the true CPU
53# capabilities are checked at run-time to avoid crashes.
54# default = no
55# HAVE_SSE=1 (see HAVE_MMX)
56# default = no
57# HAVE_3DNOW=1 (see HAVE_MMX)
58# default = no
59#
60# Targets:
61# all: build everything
62# libgl: build GL
63# libglu: build GLU
64# libglut: build GLUT
65# clean: remove object files
66# realclean: remove all generated files
67#
68
69
70
71.PHONY : all libgl libglu libglut clean realclean
72
Brian Paul9ec58c22003-08-19 15:52:51 +000073CPU ?= pentium
Brian Paul642699a2003-06-16 14:32:44 +000074
75GLU ?= mesa
76
77CFLAGS = -Wall -W -pedantic
78CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
79
80export CFLAGS
81
82ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
83UNLINK = del $(subst /,\,$(1))
84else
85UNLINK = $(RM) $(1)
86endif
87
88all: libgl libglu libglut
89
90libgl: lib
91 $(MAKE) -f Makefile.DJ -C src/mesa
92libglu: lib
93 $(MAKE) -f Makefile.DJ -C src/glu/$(GLU)
94libglut: lib
95 $(MAKE) -f Makefile.DJ -C src/glut/dos
96
97lib:
98 mkdir lib
99
100clean:
101 $(MAKE) -f Makefile.DJ clean -C src/mesa
102 $(MAKE) -f Makefile.DJ clean -C src/glu/mesa
103 $(MAKE) -f Makefile.DJ clean -C src/glu/sgi
104 $(MAKE) -f Makefile.DJ clean -C src/glut/dos
105
106realclean: clean
107 -$(call UNLINK,lib/*.a)
108 -$(call UNLINK,lib/*.dxe)