Initial Version of LayerManagementService added.
[profile/ivi/layer-management.git] / LayerManagerPlugins / Renderers / Platform / BeagleRenderer / makefile
1 ############################################################################
2
3 # Copyright 2010 BMW Car IT GmbH  
4
5
6 # Licensed under the Apache License, Version 2.0 (the "License"); 
7 # you may not use this file except in compliance with the License. 
8 # You may obtain a copy of the License at 
9 #
10 #               http://www.apache.org/licenses/LICENSE-2.0 
11 #
12 # Unless required by applicable law or agreed to in writing, software 
13 # distributed under the License is distributed on an "AS IS" BASIS, 
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
15 # See the License for the specific language governing permissions and 
16 # limitations under the License.
17 #
18 ############################################################################
19 ifneq ($(CONFIG),)
20 include ../../../../LayerManagerPlatform/Make$(CONFIG).defs
21 endif
22
23 SRC = BeagleRenderer.cpp \
24       GLESGraphicSystem.cpp \
25       NullWindowSystem.cpp \
26       BaseRenderer.cpp \
27           ShaderProgramBeagle.cpp 
28
29 TARGET_NAME = libBeagleRenderer.so
30
31 ADD_INCLUDE_DIR+=include \
32                         ../../Base/include \
33                         ../../Graphic/include \
34                         $(PREFIX)/usr/include/layermanager 
35                                 
36 ADD_LIB_DIR+= $(PREFIX)/usr/lib/layermanager
37                                 
38 ADD_LIBS+= EGL Xcomposite pthread  GLESv2 LayerManagerUtils Xxf86vm
39
40 OBJS = $(patsubst %.cpp,build/%.o,$(SRC))
41 TARGET = build/$(TARGET_NAME)
42 INCLUDE= $(patsubst %$,-I%,$(ADD_INCLUDE_DIR))
43 LIBS+=$(shell pkg-config --libs $(PKG)) $(patsubst %$,-L%,$(ADD_LIB_DIR)) $(patsubst %$,-l%,$(ADD_LIBS)) 
44 LIBS+= cmem.a470uC
45
46 all:    $(TARGET)
47
48 build/%.o: src/%.cpp
49         $(shell mkdir -p $(shell dirname $@))
50         $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
51         
52 build/%.o: ../../Base/src/%.cpp
53         $(shell mkdir -p $(shell dirname $@))
54         $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
55         
56 build/%.o: ../../Graphic/src/GraphicSystems/%.cpp
57         $(shell mkdir -p $(shell dirname $@))
58         $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
59         
60 build/%.o: ../../Graphic/src/WindowSystems/%.cpp
61         $(shell mkdir -p $(shell dirname $@))
62         $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
63         
64 build/%.o: ../../Graphic/src/TextureBinders/%.cpp
65         $(shell mkdir -p $(shell dirname $@))
66         $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
67
68 $(TARGET): $(SHADERS) $(OBJS)
69         $(CXX) $(CXXFLAGS) -shared -W1,-soname,$(TARGET) -o $(TARGET) $(OBJS) $(LIBS)
70
71 install:
72         mkdir -p $(PREFIX)/usr/lib/layermanager/renderer
73         install -m 755 $(TARGET) $(PREFIX)/usr/lib/layermanager/renderer
74
75 clean:
76         rm -f $(OBJS) $(TARGET)
77         rm -rf build
78