Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

70 рядки
2.0 KiB

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...