# 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