Merge tag 'v6.5.1'
[xcsoar.git] / build / screen.mk
blob5ae793633372aea0ece8aa677506c8520bd15fc9
1 # Build rules for the portable screen library
3 SCREEN_SRC_DIR = $(SRC)/Screen
5 SCREEN_SOURCES = \
6 $(SCREEN_SRC_DIR)/Debug.cpp \
7 $(SCREEN_SRC_DIR)/ProgressBar.cpp \
8 $(SCREEN_SRC_DIR)/Util.cpp \
9 $(SCREEN_SRC_DIR)/Icon.cpp \
10 $(SCREEN_SRC_DIR)/Brush.cpp \
11 $(SCREEN_SRC_DIR)/Canvas.cpp \
12 $(SCREEN_SRC_DIR)/Color.cpp \
13 $(SCREEN_SRC_DIR)/BufferCanvas.cpp \
14 $(SCREEN_SRC_DIR)/Pen.cpp \
15 $(SCREEN_SRC_DIR)/Window.cpp \
16 $(SCREEN_SRC_DIR)/BufferWindow.cpp \
17 $(SCREEN_SRC_DIR)/DoubleBufferWindow.cpp \
18 $(SCREEN_SRC_DIR)/SingleWindow.cpp
20 SCREEN_CUSTOM_SOURCES = \
21 $(SCREEN_SRC_DIR)/Custom/Timer.cpp \
22 $(SCREEN_SRC_DIR)/Custom/TextWindow.cpp \
23 $(SCREEN_SRC_DIR)/Custom/LargeTextWindow.cpp \
24 $(SCREEN_SRC_DIR)/Custom/ButtonWindow.cpp \
25 $(SCREEN_SRC_DIR)/Custom/Window.cpp \
26 $(SCREEN_SRC_DIR)/Custom/WList.cpp \
27 $(SCREEN_SRC_DIR)/Custom/ContainerWindow.cpp \
28 $(SCREEN_SRC_DIR)/Custom/CheckBox.cpp \
29 $(SCREEN_SRC_DIR)/Custom/EditWindow.cpp \
30 $(SCREEN_SRC_DIR)/Custom/TopWindow.cpp \
31 $(SCREEN_SRC_DIR)/Custom/SingleWindow.cpp \
32 $(SCREEN_SRC_DIR)/Custom/Canvas.cpp
34 ifeq ($(TARGET),ANDROID)
35 SCREEN_SOURCES += \
36 $(SCREEN_CUSTOM_SOURCES) \
37 $(SCREEN_SRC_DIR)/OpenGL/EGL.cpp \
38 $(SCREEN_SRC_DIR)/Android/Window.cpp \
39 $(SCREEN_SRC_DIR)/Android/TopWindow.cpp \
40 $(SCREEN_SRC_DIR)/Android/SingleWindow.cpp \
41 $(SCREEN_SRC_DIR)/Android/TopCanvas.cpp \
42 $(SCREEN_SRC_DIR)/Android/Bitmap.cpp \
43 $(SCREEN_SRC_DIR)/Android/Font.cpp
44 endif
46 ifeq ($(FREETYPE),y)
47 SCREEN_SOURCES += \
48 $(SCREEN_SRC_DIR)/FreeType/Font.cpp \
49 $(SCREEN_SRC_DIR)/FreeType/Init.cpp
50 endif
52 ifeq ($(LIBPNG),y)
53 SCREEN_SOURCES += \
54 $(SCREEN_SRC_DIR)/OpenGL/LibPNG.cpp
55 endif
57 ifeq ($(LIBJPEG),y)
58 SCREEN_SOURCES += \
59 $(SCREEN_SRC_DIR)/OpenGL/LibJPEG.cpp
60 endif
62 ifeq ($(OPENGL),y)
63 SCREEN_SOURCES += \
64 $(SCREEN_SRC_DIR)/OpenGL/Init.cpp \
65 $(SCREEN_SRC_DIR)/OpenGL/Globals.cpp \
66 $(SCREEN_SRC_DIR)/OpenGL/Extension.cpp \
67 $(SCREEN_SRC_DIR)/OpenGL/FBO.cpp \
68 $(SCREEN_SRC_DIR)/OpenGL/VertexArray.cpp \
69 $(SCREEN_SRC_DIR)/OpenGL/Bitmap.cpp \
70 $(SCREEN_SRC_DIR)/OpenGL/RawBitmap.cpp \
71 $(SCREEN_SRC_DIR)/OpenGL/Cache.cpp \
72 $(SCREEN_SRC_DIR)/OpenGL/Canvas.cpp \
73 $(SCREEN_SRC_DIR)/OpenGL/BufferCanvas.cpp \
74 $(SCREEN_SRC_DIR)/OpenGL/TopCanvas.cpp \
75 $(SCREEN_SRC_DIR)/OpenGL/Texture.cpp \
76 $(SCREEN_SRC_DIR)/OpenGL/Buffer.cpp \
77 $(SCREEN_SRC_DIR)/OpenGL/Shapes.cpp \
78 $(SCREEN_SRC_DIR)/OpenGL/Surface.cpp \
79 $(SCREEN_SRC_DIR)/OpenGL/Triangulate.cpp
80 endif
82 ifeq ($(ENABLE_SDL),y)
83 SCREEN_SOURCES += $(SCREEN_CUSTOM_SOURCES)
84 SCREEN_SOURCES += \
85 $(SCREEN_SRC_DIR)/Custom/Files.cpp \
86 $(SCREEN_SRC_DIR)/SDL/Window.cpp \
87 $(SCREEN_SRC_DIR)/SDL/TopWindow.cpp \
88 $(SCREEN_SRC_DIR)/SDL/SingleWindow.cpp \
89 $(SCREEN_SRC_DIR)/SDL/TopCanvas.cpp \
90 $(SCREEN_SRC_DIR)/SDL/Bitmap.cpp \
91 $(SCREEN_SRC_DIR)/SDL/Init.cpp
92 ifeq ($(FREETYPE),n)
93 SCREEN_SOURCES += \
94 $(SCREEN_SRC_DIR)/SDL/Font.cpp
95 endif
96 ifeq ($(OPENGL),n)
97 SCREEN_SOURCES += \
98 $(SCREEN_SRC_DIR)/SDL/Canvas.cpp \
99 $(SCREEN_SRC_DIR)/SDL/Bitmap.cpp \
100 $(SCREEN_SRC_DIR)/SDL/RawBitmap.cpp \
101 $(SCREEN_SRC_DIR)/VirtualCanvas.cpp \
102 $(SCREEN_SRC_DIR)/WindowCanvas.cpp
103 endif
104 else ifeq ($(EGL),y)
105 SCREEN_SOURCES += \
106 $(SCREEN_CUSTOM_SOURCES) \
107 $(SCREEN_SRC_DIR)/Custom/Files.cpp \
108 $(SCREEN_SRC_DIR)/EGL/Init.cpp \
109 $(SCREEN_SRC_DIR)/EGL/TopCanvas.cpp \
110 $(SCREEN_SRC_DIR)/EGL/Window.cpp \
111 $(SCREEN_SRC_DIR)/EGL/TopWindow.cpp \
112 $(SCREEN_SRC_DIR)/EGL/SingleWindow.cpp
113 else ifeq ($(HAVE_WIN32),y)
114 SCREEN_SOURCES += \
115 $(SCREEN_SRC_DIR)/VirtualCanvas.cpp \
116 $(SCREEN_SRC_DIR)/WindowCanvas.cpp \
117 $(SCREEN_SRC_DIR)/GDI/Init.cpp \
118 $(SCREEN_SRC_DIR)/GDI/Font.cpp \
119 $(SCREEN_SRC_DIR)/GDI/AlphaBlend.cpp \
120 $(SCREEN_SRC_DIR)/GDI/Timer.cpp \
121 $(SCREEN_SRC_DIR)/GDI/Window.cpp \
122 $(SCREEN_SRC_DIR)/GDI/PaintWindow.cpp \
123 $(SCREEN_SRC_DIR)/GDI/ContainerWindow.cpp \
124 $(SCREEN_SRC_DIR)/GDI/TextWindow.cpp \
125 $(SCREEN_SRC_DIR)/GDI/LargeTextWindow.cpp \
126 $(SCREEN_SRC_DIR)/GDI/ButtonWindow.cpp \
127 $(SCREEN_SRC_DIR)/GDI/EditWindow.cpp \
128 $(SCREEN_SRC_DIR)/GDI/SingleWindow.cpp \
129 $(SCREEN_SRC_DIR)/GDI/TopWindow.cpp \
130 $(SCREEN_SRC_DIR)/GDI/Bitmap.cpp \
131 $(SCREEN_SRC_DIR)/GDI/RawBitmap.cpp \
132 $(SCREEN_SRC_DIR)/GDI/Canvas.cpp \
133 $(SCREEN_SRC_DIR)/GDI/BufferCanvas.cpp \
134 $(SCREEN_SRC_DIR)/GDI/PaintCanvas.cpp
135 GDI_CPPFLAGS = -DUSE_GDI
137 ifeq ($(HAVE_CE),y)
138 GDI_LDLIBS = -lcommctrl
139 else
140 GDI_LDLIBS = -lcomctl32 -luser32 -lgdi32 -lmsimg32
141 endif
143 ifeq ($(TARGET),PC)
144 GDI_LDLIBS += -Wl,-subsystem,windows
145 endif
146 endif
148 SCREEN_CPPFLAGS = $(SDL_CPPFLAGS) $(GDI_CPPFLAGS) $(OPENGL_CPPFLAGS) $(FREETYPE_CPPFLAGS) $(LIBPNG_CPPFLAGS) $(LIBJPEG_CPPFLAGS) $(EGL_CPPFLAGS)
149 SCREEN_LDLIBS = $(SDL_LDLIBS) $(GDI_LDLIBS) $(OPENGL_LDLIBS) $(FREETYPE_LDLIBS) $(LIBPNG_LDLIBS) $(LIBJPEG_LDLIBS) $(EGL_LDLIBS)
151 $(eval $(call link-library,screen,SCREEN))
153 SCREEN_LDADD += $(SDL_LDADD)