70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
CC = g++
 | 
						|
AR = ar
 | 
						|
OBJECTS = segl.o punkt3d.o punkt2d.o emath.o emath_opengl.o color.o gldrawhelper.o glfontengine.o rect.o gltexture.o matrix.o quaternion.o rotationsmatrix.o glsdlscreen.o sdlfuncs.o fpsmanager.o glcamera.o catmullromspline.o extstring.o quader.o geotypes.o
 | 
						|
OBJOPT = -Wall -c -DVERSION=\"$(VERSION)\" -O2 `sdl-config --cflags`
 | 
						|
WINOPT = -Wall -c -DVERSION=\"$(VERSION)\" -O2 -I/usr/i586-mingw32msvc/include -I/usr/i586-mingw32msvc/include/SDL
 | 
						|
LIBLINK = -lc -shared -Wl,-soname,$(LIBNAME).so.$(LIBVERSION)
 | 
						|
WINLINK = -L/usr/i586-mingw32msvc/lib /usr/i586-mingw32msvc/lib/SDL_image.lib -lmingw32 -shared -mwindows -lGL -lGLU -lSDL -lSDL_image /usr/i586-mingw32msvc/lib/SDL_image.lib /usr/i586-mingw32msvc/lib/SDL_image.dll
 | 
						|
SUBDIRS = glgui glmenu model
 | 
						|
SUBDIROBJECTS = glgui/*.o glmenu/*.o model/*.o
 | 
						|
VERSION = 0.1.1
 | 
						|
LIBVERSION = 1
 | 
						|
LIBNAME = libsegl
 | 
						|
EXT = so.$(LIBVERSION)
 | 
						|
 | 
						|
.PHONY: windows
 | 
						|
 | 
						|
all: seglar lib
 | 
						|
 | 
						|
seglar: $(OBJECTS) subdirs
 | 
						|
	rm -f $(LIBNAME).a
 | 
						|
	$(AR) rcs $(LIBNAME).a $(OBJECTS) $(SUBDIROBJECTS)
 | 
						|
# 	ranlib $(LIBNAME).a
 | 
						|
 | 
						|
lib: LINKER = $(LINKER)
 | 
						|
lib: $(OBJECTS) subdirs
 | 
						|
	$(CC) -o $(LIBNAME).$(EXT) $(OBJECTS) $(SUBDIROBJECTS) $(LIBLINK)
 | 
						|
 | 
						|
subdirs:
 | 
						|
	@for i in $(SUBDIRS); do $(MAKE) CC="$(CC)" AR="$(AR)" OBJOPT="$(OBJOPT)" -C  $$i; done
 | 
						|
	
 | 
						|
%.o: %.cpp %.h
 | 
						|
	$(CC) $(OBJOPT) $<
 | 
						|
 | 
						|
# this could probably fail..
 | 
						|
# thought to get segl.cpp rebuilded
 | 
						|
segl.o: $(OBJECTS:segl.o=)
 | 
						|
 | 
						|
glgui/glgui.a:
 | 
						|
	cd glgui; $(MAKE);
 | 
						|
	
 | 
						|
glmenu/glmenu.a:
 | 
						|
	cd glmenu; $(MAKE);
 | 
						|
	
 | 
						|
testprog: seglar testprog.o
 | 
						|
	g++ `sdl-config --libs` -lSDL_image -lGL -lGLU testprog.o -o testprog $(LIBNAME).a 
 | 
						|
 | 
						|
winlib: CC = i586-mingw32msvc-g++
 | 
						|
winlib: AR = i586-mingw32msvc-ar
 | 
						|
winlib: OBJOPT = $(WINOPT)
 | 
						|
winlib: LIBLINK = $(WINLINK)
 | 
						|
winlib: export EXT = dll
 | 
						|
winlib: lib
 | 
						|
 | 
						|
winar: CC = i586-mingw32msvc-g++
 | 
						|
winar: AR = i586-mingw32msvc-ar
 | 
						|
winar: OBJOPT = $(WINOPT)
 | 
						|
winar: LIBLINK = $(WINLINK)
 | 
						|
winar: export EXT = dll
 | 
						|
winar: seglar
 | 
						|
 | 
						|
 | 
						|
cleansubdirs:
 | 
						|
	@for i in $(SUBDIRS); do $(MAKE) clean -C  $$i; done
 | 
						|
 | 
						|
clean: cleansubdirs
 | 
						|
	rm -f $(OBJECTS)
 | 
						|
# 	cd glgui; $(MAKE) clean
 | 
						|
# 	cd glmenu; $(MAKE) clean
 | 
						|
	@echo Done cleaning...
 |