blob: 93983f9165e2355b974c6a15eb93f3f72ce11a75 [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
Brian Paul642699a2003-06-16 14:32:44 +000046# HAVE_X86=1 optimize for i386.
47# default = no
48# HAVE_MMX=1 allow MMX specializations, provided your assembler
49# supports MMX instruction set. However, the true CPU
50# capabilities are checked at run-time to avoid crashes.
51# default = no
52# HAVE_SSE=1 (see HAVE_MMX)
53# default = no
54# HAVE_3DNOW=1 (see HAVE_MMX)
55# default = no
56#
57# Targets:
58# all: build everything
59# libgl: build GL
60# libglu: build GLU
61# libglut: build GLUT
62# clean: remove object files
63# realclean: remove all generated files
64#
65
66
67
68.PHONY : all libgl libglu libglut clean realclean
69
Brian Paul9ec58c22003-08-19 15:52:51 +000070CPU ?= pentium
Brian Paul642699a2003-06-16 14:32:44 +000071
72GLU ?= mesa
73
74CFLAGS = -Wall -W -pedantic
75CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
76
77export CFLAGS
78
79ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
80UNLINK = del $(subst /,\,$(1))
81else
82UNLINK = $(RM) $(1)
83endif
84
85all: libgl libglu libglut
86
87libgl: lib
88 $(MAKE) -f Makefile.DJ -C src/mesa
89libglu: lib
90 $(MAKE) -f Makefile.DJ -C src/glu/$(GLU)
91libglut: lib
92 $(MAKE) -f Makefile.DJ -C src/glut/dos
93
94lib:
95 mkdir lib
96
97clean:
98 $(MAKE) -f Makefile.DJ clean -C src/mesa
99 $(MAKE) -f Makefile.DJ clean -C src/glu/mesa
100 $(MAKE) -f Makefile.DJ clean -C src/glu/sgi
101 $(MAKE) -f Makefile.DJ clean -C src/glut/dos
102
103realclean: clean
104 -$(call UNLINK,lib/*.a)
105 -$(call UNLINK,lib/*.dxe)