-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
73 lines (67 loc) · 2.84 KB
/
Makefile
File metadata and controls
73 lines (67 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
SOURCE_BASE = source/thewizardplusplus/
UTILS_SOURCE = $(SOURCE_BASE)utils/
ANNA_SOURCE = $(SOURCE_BASE)anna/
ANNA_GRAPHICS_SOURCE = $(ANNA_SOURCE)graphics/
ANNA_GRAPHICS_EXCEPTIONS_SOURCE = $(ANNA_GRAPHICS_SOURCE)exceptions/
OBJECTS = \
$(UTILS_SOURCE)Console.o \
$(UTILS_SOURCE)ByteOrderTester.o \
$(UTILS_SOURCE)Path.o \
$(ANNA_SOURCE)maths/Maths.o \
$(ANNA_GRAPHICS_SOURCE)Vertex.o \
$(ANNA_GRAPHICS_SOURCE)Texture.o \
$(ANNA_GRAPHICS_SOURCE)Material.o \
$(ANNA_GRAPHICS_SOURCE)Mesh.o \
$(ANNA_GRAPHICS_SOURCE)Object.o \
$(ANNA_GRAPHICS_SOURCE)CubeMesh.o \
$(ANNA_GRAPHICS_SOURCE)PlaneMesh.o \
$(ANNA_GRAPHICS_SOURCE)Skybox.o \
$(ANNA_GRAPHICS_SOURCE)Camera.o \
$(ANNA_GRAPHICS_SOURCE)DistanceToMeshComparator.o \
$(ANNA_GRAPHICS_SOURCE)AnimateKey.o \
$(ANNA_GRAPHICS_SOURCE)AnimateTrack.o \
$(ANNA_GRAPHICS_SOURCE)AnimateObject.o \
$(ANNA_GRAPHICS_SOURCE)Window.o \
$(ANNA_GRAPHICS_SOURCE)FogParameters.o \
$(ANNA_GRAPHICS_SOURCE)TextureData.o \
$(ANNA_GRAPHICS_SOURCE)TextureLoader.o \
$(ANNA_GRAPHICS_SOURCE)GraphicApi.o \
$(ANNA_GRAPHICS_SOURCE)OpenGlWindow.o \
$(ANNA_GRAPHICS_SOURCE)OpenGlGraphicApi.o \
$(ANNA_GRAPHICS_SOURCE)World.o \
$(ANNA_GRAPHICS_SOURCE)BmpTextureLoader.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)GraphicsException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToOpenObjectFileException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)InvalidFormatOfObjectFileException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)ConnectWithXServerException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)FailedToChoosePixelFormatException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToRegisterWindowClassException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)CannotRunInFullscreenModeException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToCreateWindowException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToCreateDeviceContextException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)CannotFindAppropriatePixelFormatException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToSetPixelFormatException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToCreateOpenGlRenderingContextException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToActivateOpenGlRenderingContextException.o \
$(ANNA_GRAPHICS_EXCEPTIONS_SOURCE)UnableToRegisterRawInputDeviceException.o
BUILD = build/
BUILD_HEADERS = $(BUILD)headers/
BUILD_LIBRARIES = $(BUILD)libraries/anna/graphics/
LIBRARY_NAME = $(BUILD_LIBRARIES)libAnnaGraphics.a
DOCS = docs/
CXXFLAGS += -std=c++03 -Wpedantic -Wall -Wextra -O2
.PHONY: install docs clean
main: $(OBJECTS)
mkdir -p $(BUILD_LIBRARIES)
$(AR) crs $(LIBRARY_NAME) $(OBJECTS)
$(RM) -r $(BUILD_HEADERS)
mkdir -p $(BUILD_HEADERS)
rsync -r --include="*/" --include="*.h" --exclude="*" $(SOURCE_BASE) $(BUILD_HEADERS)
install:
cp -vr $(BUILD_HEADERS)* /usr/include/
cp $(LIBRARY_NAME) /usr/lib/
docs:
$(RM) -r $(DOCS)/html/
doxygen $(DOCS)Doxyfile
clean:
find . -name "*.o" -type f -delete