# # $Id$ # # $Date$ # $Revision$ # # (C) 1999 by Hyperion # All rights reserved # # This file is part of the MiniGL library project # See the file Licence.txt for more details # # ifneq ($(shell uname), AmigaOS) INSTALLPATH = /usr/local/amiga/ppc-amigaos/SDK/local/clib2 #INSTALLPATH = /usr/local/amiga/ppc-amigaos/local/clib2 CC = ppc-amigaos-gcc AR = ppc-amigaos-ar RANLIB = ppc-amigaos-ranlib COPY = cp MAKEDIR = mkdir else INSTALLPATH = SDK:local/clib2 CC = gcc AR = ar RANLIB = ranlib COPY = copy QUIET MAKEDIR = makedir endif INCLUDE = -Iinclude -I../warp3d/include DEBUG = -ggdb MGLNAME = minigl.library MGLSTUB = libGL.a GLUNAME = libGLU.a GLUTNAME = mglut.library GLUTSTUB = libglut.a CRT = -mcrt=clib2 CFLAGS = $(INCLUDE) $(DEBUG) -O3 -mtune=7450 -Wall -DMINIGL \ -std=gnu99 -fno-strict-aliasing $(CRT) DEMOS = gears cube bounce warp texsub multitex plane gears2 envcombine mipmap \ fogging points lines glinfo clip rasonly aargb stars glutplane \ drawf polygonmode attrib # glow MGLSRC = src/library.c src/matrix.c src/context.c src/vertexbuffer.c src/draw.c \ src/texture.c src/fog.c src/hclip.c src/others.c src/init.c src/state.c \ src/vertexarray.c src/light.c src/textureconvert.c src/bitmap.c MGLLIBOBJ = $(MGLSRC:.c=.o) MGLSTUBSRC = src/mglstub.c MGLSTUBOBJ = $(MGLSTUBSRC:.c=.o) GLUSRC = src/glu.c GLULIBOBJ = $(GLUSRC:.c=.o) GLUTSRC = src/glut.c src/glutlibrary.c GLUTOBJ = $(GLUTSRC:.c=.o) GLUTSTUBSRC = src/glutstub.c GLUTSTUBOBJ = $(GLUTSTUBSRC:.c=.o) DEMOSUP = demos/texload.c MINIGL_VERSION = 1 MGLUT_VERSION = 1 .SILENT: all: $(MGLNAME) lib/$(MGLSTUB) lib/baserel/$(MGLSTUB) lib/$(GLUNAME) \ $(GLUTNAME) lib/$(GLUTSTUB) $(DEMOS) install lib: $(MGLNAME) @echo "Done" define PROGRAM_template demos/$(1).o: demos/$(1).c echo Compiling demos/$(1) $(CC) $(CFLAGS) -c demos/$(1).c -o demos/$(1).o $(1): demos/$(1).o $(LIBNAME) demos/texload.o echo Linking $(1) $(CC) -g -o $(1) demos/$(basename $(1)).o demos/texload.o \ -Llib -lGL -lGLU -lglut -lm -lauto DEMOS_progs += $(1) endef .PHONY: clean demos revision.minigl revision.mglut revision $(foreach prog,$(DEMOS),$(eval $(call PROGRAM_template,$(prog)))) demos: $(DEMOS) clean: -rm src/*.o src/*.bo demos/*.o minigl.library mglut.library \ lib/libGLU.a lib/libglut.a lib/libGL.a lib/baserel/libGL.a -rm $(DEMOS_progs) $(MGLNAME): $(MGLLIBOBJ) echo Linking minigl.library... $(CC) $(CRT) -o $(MGLNAME) $(MGLLIBOBJ) -nostartfiles -lm lib/$(MGLSTUB): $(MGLSTUBOBJ) echo Building $*.a $(AR) rc lib/$(MGLSTUB) $(MGLSTUBOBJ) lib/baserel/$(MGLSTUB): $(MGLSTUBOBJ:.o=.bo) echo Building $*.a $(AR) rc lib/baserel/$(MGLSTUB) $(MGLSTUBOBJ:.o=.bo) lib/$(GLUNAME): $(GLULIBOBJ) echo Building $*.a $(AR) rc lib/$(GLUNAME) $(GLULIBOBJ) $(GLUTNAME): $(GLUTOBJ) echo Linking mglut.library... $(CC) $(CRT) -o $(GLUTNAME) $(GLUTOBJ) -Llib -nostartfiles -lm -lGL lib/$(GLUTSTUB): $(GLUTSTUBOBJ) echo Building $*.a $(AR) rc lib/$(GLUTSTUB) $(GLUTSTUBOBJ) install: $(MGLNAME) @echo Installing... @-$(MAKEDIR) $(INSTALLPATH)/include/mgl @-$(MAKEDIR) $(INSTALLPATH)/include/GL @-$(MAKEDIR) $(INSTALLPATH)/include/interfaces @-$(MAKEDIR) $(INSTALLPATH)/lib/baserel @$(COPY) lib/*.a $(INSTALLPATH)/lib @$(COPY) lib/baserel/*.a $(INSTALLPATH)/lib/baserel @$(COPY) include/mgl/*.h $(INSTALLPATH)/include/mgl @$(COPY) include/GL/*.h $(INSTALLPATH)/include/GL @$(COPY) include/interfaces/*.h $(INSTALLPATH)/include/interfaces @$(COPY) lib/libGL.a $(INSTALLPATH)/lib/libmgl.a ifeq ($(shell uname), AmigaOS) @$(COPY) #?.library libs: @avail flush endif %.o : %.c echo Compiling $< $(CC) $(CFLAGS) -c $< -o $*.o %.bo : %.c echo Compiling $< \(baserel\) $(CC) $(CFLAGS) -mbaserel -c $< -o $*.bo revision.minigl: echo Bumping minigl version cd src; bumprev $(MINIGL_VERSION) minigl.library revision.mglut: echo Bumping mglut version cd src; bumprev $(MGLUT_VERSION) mglut.library revision: revision.minigl revision.mglut