| # DOS/DJGPP Mesa Utility Toolkit |
| # Version: 1.0 |
| # |
| # Copyright (C) 2005 Daniel Borca All Rights Reserved. |
| # |
| # Permission is hereby granted, free of charge, to any person obtaining a |
| # copy of this software and associated documentation files (the "Software"), |
| # to deal in the Software without restriction, including without limitation |
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| # and/or sell copies of the Software, and to permit persons to whom the |
| # Software is furnished to do so, subject to the following conditions: |
| # |
| # The above copyright notice and this permission notice shall be included |
| # in all copies or substantial portions of the Software. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| # DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
| # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| |
| |
| # |
| # Available options: |
| # |
| # Environment variables: |
| # CFLAGS |
| # |
| # GLIDE path to Glide3 SDK; used to resolve DXEs. |
| # default = $(TOP)/glide3 |
| # |
| # Targets: |
| # all: build GLUT |
| # clean: remove object files |
| # |
| |
| |
| |
| .PHONY: all clean |
| |
| TOP = ../../.. |
| GLIDE ?= $(TOP)/glide3 |
| LIBDIR = $(TOP)/lib |
| GLUT_LIB = libglut.a |
| GLUT_DXE = glut.dxe |
| GLUT_IMP = libiglut.a |
| |
| export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR);$(GLIDE)/lib |
| |
| CC = gcc |
| CFLAGS += -I$(TOP)/include -I. -IPC_HW |
| CFLAGS += -DGLUT_IMPORT_LIB |
| |
| AR = ar |
| ARFLAGS = crus |
| |
| HAVEDXE3 = $(wildcard $(DJDIR)/bin/dxe3gen.exe) |
| |
| ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),) |
| UNLINK = del $(subst /,\,$(1)) |
| else |
| UNLINK = $(RM) $(1) |
| endif |
| |
| CORE_SOURCES = \ |
| loop.c \ |
| callback.c \ |
| color.c \ |
| extens.c \ |
| init.c \ |
| menu.c \ |
| mouse.c \ |
| overlay.c \ |
| state.c \ |
| util.c \ |
| window.c \ |
| f8x13.c \ |
| f9x15.c \ |
| hel10.c \ |
| hel12.c \ |
| hel18.c \ |
| tr10.c \ |
| tr24.c \ |
| mroman.c \ |
| roman.c \ |
| bitmap.c \ |
| stroke.c \ |
| teapot.c \ |
| shapes.c |
| |
| PC_HW_SOURCES = \ |
| PC_HW/pc_hw.c \ |
| PC_HW/pc_keyb.c \ |
| PC_HW/pc_mouse.c \ |
| PC_HW/pc_timer.c \ |
| PC_HW/pc_irq.S |
| |
| SOURCES = $(CORE_SOURCES) $(PC_HW_SOURCES) |
| |
| OBJECTS = $(addsuffix .o,$(basename $(SOURCES))) |
| |
| .c.o: |
| $(CC) -o $@ $(CFLAGS) -c $< |
| .S.o: |
| $(CC) -o $@ $(CFLAGS) -c $< |
| .s.o: |
| $(CC) -o $@ $(CFLAGS) -x assembler-with-cpp -c $< |
| |
| all: $(LIBDIR)/$(GLUT_LIB) $(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP) |
| |
| $(LIBDIR)/$(GLUT_LIB): $(OBJECTS) |
| $(AR) $(ARFLAGS) $@ $^ |
| |
| $(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS) |
| ifeq ($(HAVEDXE3),) |
| $(warning Missing DXE3 package... Skipping $(GLUT_DXE)) |
| else |
| -dxe3gen -o $(LIBDIR)/$(GLUT_DXE) -Y $(LIBDIR)/$(GLUT_IMP) -D "MesaGLUT DJGPP" -E _glut -P gl.dxe -U $^ |
| endif |
| |
| clean: |
| -$(call UNLINK,*.o) |
| -$(call UNLINK,PC_HW/*.o) |
| |
| -include depend |