1 ############################################################################
3 # Copyright 2010 BMW Car IT GmbH
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
10 # http://www.apache.org/licenses/LICENSE-2.0
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.
18 ############################################################################
20 include ../../../../LayerManagerPlatform/Make$(CONFIG).defs
23 SRC = BeagleRenderer.cpp \
24 GLESGraphicSystem.cpp \
25 NullWindowSystem.cpp \
27 ShaderProgramBeagle.cpp
29 TARGET_NAME = libBeagleRenderer.so
31 ADD_INCLUDE_DIR+=include \
33 ../../Graphic/include \
34 $(PREFIX)/usr/include/layermanager
36 ADD_LIB_DIR+= $(PREFIX)/usr/lib/layermanager
38 ADD_LIBS+= EGL Xcomposite pthread GLESv2 LayerManagerUtils Xxf86vm
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))
49 $(shell mkdir -p $(shell dirname $@))
50 $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
52 build/%.o: ../../Base/src/%.cpp
53 $(shell mkdir -p $(shell dirname $@))
54 $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
56 build/%.o: ../../Graphic/src/GraphicSystems/%.cpp
57 $(shell mkdir -p $(shell dirname $@))
58 $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
60 build/%.o: ../../Graphic/src/WindowSystems/%.cpp
61 $(shell mkdir -p $(shell dirname $@))
62 $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
64 build/%.o: ../../Graphic/src/TextureBinders/%.cpp
65 $(shell mkdir -p $(shell dirname $@))
66 $(CXX) $(CXXFLAGS) $(INCLUDE) -c -o $@ $<
68 $(TARGET): $(SHADERS) $(OBJS)
69 $(CXX) $(CXXFLAGS) -shared -W1,-soname,$(TARGET) -o $(TARGET) $(OBJS) $(LIBS)
72 mkdir -p $(PREFIX)/usr/lib/layermanager/renderer
73 install -m 755 $(TARGET) $(PREFIX)/usr/lib/layermanager/renderer
76 rm -f $(OBJS) $(TARGET)