# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
\r
-# DOS/DJGPP glut makefile v0.1 for Mesa 4.0\r
+# DOS/DJGPP glut makefile v1.0 for Mesa 4.0\r
#\r
# Copyright (C) 2002 - Borca Daniel\r
# Email : dborca@yahoo.com\r
\r
TOP = ..\r
CC = gcc\r
-CFLAGS = -I$(TOP)/include -Wall -W -Wno-unused -mcpu=pentium -ffast-math -O2\r
+CFLAGS = -I$(TOP)/include -Wall -W -Wno-unused -mcpu=$(CPU) -ffast-math -O2\r
AR = ar\r
ARFLAGS = ruv\r
LIBDIR = $(TOP)/lib\r
\r
+ifeq ($(wildcard $(DJDIR)/lib/dxe2.ld),)\r
+DXE2GEN =\r
+else\r
+DXE2GEN = $(wildcard $(addsuffix /dxe2gen.exe,$(subst ;, ,$(PATH))))\r
+endif\r
+\r
GLUT_LIB = libglut.a\r
+GLUT_DXE = glut.dxe\r
+GLUT_IMP = libiglut.a\r
\r
CORE_SOURCES = \\r
callback.c \\r
teapot.c \\r
window.c\r
\r
-PC_HW_OBJECTS = \\r
- PC_HW/pc_hw.o \\r
- PC_HW/pc_keyb.o \\r
- PC_HW/pc_mouse.o \\r
- PC_HW/pc_timer.o \\r
- PC_HW/pc_irq.o\r
+PC_HW_SOURCES = \\r
+ PC_HW/pc_hw.c \\r
+ PC_HW/pc_keyb.c \\r
+ PC_HW/pc_mouse.c \\r
+ PC_HW/pc_timer.c \\r
+ PC_HW/pc_irq.S\r
\r
-SOURCES = $(CORE_SOURCES)\r
+SOURCES = $(CORE_SOURCES) $(PC_HW_SOURCES)\r
\r
-OBJECTS = $(SOURCES:.c=.o) $(PC_HW_OBJECTS)\r
+OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))\r
\r
+.c.o:\r
+ gcc -o $@ -c $(CFLAGS) $<\r
.S.o:\r
gcc -o $@ -c $(CFLAGS) $<\r
.s.o:\r
gcc -o $@ -c $(CFLAGS) $(<:.s=.S)\r
-.c.o:\r
- gcc -o $@ -c $(CFLAGS) $<\r
\r
-all: $(LIBDIR)/$(GLUT_LIB)\r
+all: $(LIBDIR)/$(GLUT_LIB) $(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP)\r
\r
$(LIBDIR)/$(GLUT_LIB): $(OBJECTS)\r
$(AR) $(ARFLAGS) $(LIBDIR)/$(GLUT_LIB) $(OBJECTS)\r
\r
+$(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS)\r
+ifeq ($(DXE2GEN),)\r
+ $(warning Missing DXE2GEN and/or DXE2.LD! You must have DXE2GEN)\r
+ $(warning somewhere in PATH, and DXE2.LD in DJGPP/LIB directory.)\r
+else\r
+ dxe2gen -o $(LIBDIR)/$(GLUT_DXE) -I $(LIBDIR)/$(GLUT_IMP) $(OBJECTS) -D "Mesa DOS GLUT" -U\r
+endif\r
+\r
clean:\r
-$(RM) *.o\r
-$(RM) PC_HW\*.o\r
\r
-include depend\r
+callback.o: callback.c ../include/GL/glut.h internal.h PC_HW/pc_hw.h\r
+color.o: color.c ../include/GL/glut.h\r
+font.o: font.c ../include/GL/glut.h\r
+globals.o: globals.c ../include/GL/glut.h internal.h PC_HW/pc_hw.h\r
+init.o: init.c ../include/GL/glut.h internal.h PC_HW/pc_hw.h\r
+menu.o: menu.c ../include/GL/glut.h\r
+models.o: models.c ../include/GL/glut.h\r
+overlay.o: overlay.c ../include/GL/glut.h\r
+state.o: state.c ../include/GL/glut.h internal.h PC_HW/pc_hw.h\r
+teapot.o: teapot.c ../include/GL/glut.h\r
+window.o: window.c ../include/GL/glut.h ../include/GL/dmesa.h internal.h \\r
+ PC_HW/pc_hw.h\r
+\r
+PC_HW/pc_hw.o: PC_HW/pc_hw.c PC_HW/pc_hw.h\r
+PC_HW/pc_keyb.o: PC_HW/pc_keyb.c PC_HW/pc_hw.h\r
+PC_HW/pc_mouse.o: PC_HW/pc_mouse.c PC_HW/pc_hw.h\r
+PC_HW/pc_timer.o: PC_HW/pc_timer.c PC_HW/pc_hw.h\r
+PC_HW/pc_irq.o: PC_HW/pc_irq.S\r