]> git.vomp.tv Git - vompclient.git/blob - GNUmakefile
Fix text corruption in channel number display on live tv
[vompclient.git] / GNUmakefile
1 # valid platforms are mvp, raspberry and crossraspberry
2 vomp_platform=$(shell ./select-platform)
3 #vomp_platform=crossraspberry
4 $(info selected $(vomp_platform))
5
6 vomp_options=
7 # uncomment the line below if you want to build vomp application without a reboot option, automatically set for windows!
8 #vomp_options+= -DVOMP_HAS_EXIT
9
10
11
12 ifeq ($(vomp_platform),mvp)
13 $(info MVP crosscompiler)
14 include ../crosstool/cross-var
15 CC=$(CROSS)gcc
16 STRIP=$(CROSS)strip
17 CXX=$(CROSS)g++
18 LD=$(CROSS)g++
19 endif
20
21 ifeq ($(vomp_platform),raspberry)
22 $(info raspberry normal compiler)
23 CC=gcc
24 STRIP=strip
25 CXX=g++
26 LD=g++
27 vomp_options += -DIPV6
28 endif
29
30 ifeq ($(vomp_platform),crossraspberry)
31 $(info raspberry cross compiler)
32 CC=arm-linux-gnueabi-gcc-4.7
33 STRIP=arm-linux-gnueabi-strip
34 CXX=arm-linux-gnueabi-g++-4.7
35 LD=arm-linux-gnueabi-g++-4.7
36 endif
37
38
39 CXXFLAGS_DEV = -g -O0 -Wall -Wshadow -Wno-psabi -DDEV -D_GNU_SOURCE $(INCLUDES) $(vomp_options)
40 CXXFLAGS_REL = -O3 -Wall -Wshadow -D_GNU_SOURCE $(INCLUDES) $(vomp_options)
41 LIBPATHS =
42
43
44 $(info Setting up objects)
45 # This is the only thing windows and linux share
46 include objects.mk
47 OBJECTSWIN = threadwin.o remotewin.o ledwin.o mtdwin.o videowin.o audiowin.o osdwin.o surfacewin.o
48 OBJECTS = $(OBJECTS1) 
49
50 # Pictures for linux builds 
51 PICTURES = -Wl,--format=binary 
52 PICTURES += -Wl,other/vdrhires.png 
53 PICTURES += -Wl,other/wallpaper720p.jpg 
54 PICTURES += -Wl,other/properties.png 
55 PICTURES += -Wl,other/radio.png 
56 PICTURES += -Wl,other/timers.png 
57 PICTURES += -Wl,other/tv.png 
58 PICTURES += -Wl,other/recordings.png
59 PICTURES += -Wl,other/restart.png 
60 PICTURES += -Wl,other/hd1080i.png  
61 PICTURES += -Wl,other/hd720p.png   
62 PICTURES += -Wl,other/sd576i.png  
63 PICTURES += -Wl,other/txtoff.png  
64 PICTURES += -Wl,other/txton.png 
65 PICTURES += -Wl,other/dolbyoff.png
66 PICTURES += -Wl,other/dolbyon.png  
67 PICTURES += -Wl,other/recording.png
68 PICTURES += -Wl,other/recfolder.png  
69 PICTURES += -Wl,other/defposter.png  
70 PICTURES += -Wl,--format=default 
71
72
73
74
75 ifeq ($(vomp_platform),mvp)
76 $(info MVP flags)
77 LDFLAGS = -Wall -static
78 LIBS = -lpthread -lrt
79
80 OBJECTS += wwss.o main.o threadp.o remotemvp.o ledmvp.o mtdmvp.o videomvp.o audiomvp.o osdmvp.o \
81            surfacemvp.o fonts/helvB24.o fonts/helvB18.o   wjpegcomplex.o vmedialist.o vcolourtuner.o \
82            audioplayer.o demuxeraudio.o \
83            vmediaview.o vvideomedia.o imagereader.o  media.o  mediaoptions.o mediaplayer.o  serialize.o \
84            localmediafile.o   playermedia.o demuxermedia.o mediafile.o osdvector.o surfacevector.o
85 TIOBJECT = ticonfig.o
86 CROSSLIBS = ../jpeg/jpeg-6b/libjpeg.a
87 INCLUDES = -I../jpeg/jpeg-6b  -DVOMP_PLATTFORM_MVP 
88 endif
89
90
91 ifeq ($(vomp_platform),raspberry)
92 $(info Raspberry pi flags)
93 LDFLAGS = -Wall $(PICTURES)
94 LIBS = -L/opt/vc/lib  -lpthread -lrt -lbrcmEGL -lbrcmOpenVG -lopenmaxil -lbcm_host   -lavformat -lavcodec -lavutil -lavresample
95
96 OBJECTS += main.o threadp.o  osdvector.o surfacevector.o osdopenvg.o ledraspberry.o mtdraspberry.o videoomx.o audioomx.o imageomx.o wjpegsimple.o remotelinux.o signal.o 
97 LIBS+= -ldl -lfontconfig -lfreetype -L/usr/lib/arm-linux-gnueabihf -lMagick++-6.Q16 
98 CROSSLIBS = 
99 INCLUDES = -DVOMP_PLATTFORM_RASPBERRY   -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads  -I/usr/include/freetype2 -I/usr/include/ImageMagick -I/usr/include/ImageMagick-6 -I/usr/include/arm-linux-gnueabihf/ImageMagick-6
100 CXXFLAGS_DEV += -D__STDC_CONSTANT_MACROS 
101 CXXFLAGS_REL += -D__STDC_CONSTANT_MACROS
102 endif
103
104
105 ifeq ($(vomp_platform),crossraspberry)
106 $(info Raspberry pi flags cross compiler)
107 LDFLAGS = -Wall $(PICTURES) -Wl,--verbose -Xlinker --rpath-link=rpi-root/usr/lib/arm-linux-gnueabihf -Xlinker --rpath-link=rpi-root/lib/arm-linux-gnueabihf -Xlinker --rpath-link=rpi-root/opt/vc/lib
108 LIBS = -Lrpi-root/opt/vc/lib -Lrpi-root/lib -Lrpi-root/usr/lib -Lrpi-root/lib/arm-linux-gnueabihf -Lrpi-root/usr/lib/arm-linux-gnueabihf -Lrpi-root/usr/local/lib -lpthread -lrt -lEGL -lOpenVG -lopenmaxil -lbcm_host -lavformat -lavcodec -lavutil -lavresample -ldl -lfontconfig
109
110 OBJECTS += main.o threadp.o osdvector.o surfacevector.o osdopenvg.o ledraspberry.o mtdraspberry.o videoomx.o audioomx.o imageomx.o wjpegsimple.o remotelinux.o signal.o 
111 LIBS+=  -lfreetype -lMagick++-6.Q16 
112 CROSSLIBS =
113 INCLUDES = -DVOMP_PLATTFORM_RASPBERRY   -Irpi-root/opt/vc/include -Irpi-root/opt/vc/include/interface/vcos/pthreads -Irpi-root/usr/include -Irpi-root/usr/include/freetype2 -Irpi-root/usr/include/ImageMagick-6  -Irpi-root/usr/include/ImageMagick  -Irpi-root/usr/include/arm-linux-gnueabihf/ImageMagick-6  
114 CXXFLAGS_DEV += -D__STDC_CONSTANT_MACROS -mfloat-abi=hard
115 CXXFLAGS_REL += -D__STDC_CONSTANT_MACROS -mfloat-abi=hard
116 endif
117
118 .PHONY: clean fresh all install strip
119
120 default: dev
121 fresh:   clean default
122
123 vompclient: $(OBJECTS) $(TIOBJECT) $(CROSSLIBS)
124         $(LD) $(LDFLAGS) $(LIBPATHS) $(RELEASE) $(vomp_options) -o vompclient $(TIOBJECT) $(OBJECTS) $(CROSSLIBS) $(LIBS)
125
126 # A slight hash up
127 ticonfig.o:
128         $(CC) $(CXXFLAGS_REL) -c -o ticonfig.o ticonfig.c
129
130 strip:
131         $(STRIP) vompclient
132
133 install:
134         rm -f target-mvp/vompclient
135         cp vompclient target-mvp/vompclient
136
137 install-wmp:
138         rm -f target-wmvp/vompclient
139         cp vompclient target-wmvp/vompclient
140
141 install-dev:
142         rm -f target-mvp-dev/vompclient
143         cp vompclient target-mvp-dev/vompclient
144
145 debug:
146         ../../gdb/gdb-7.12.1/gdb/gdb target-mvp/vompclient target-mvp/core.*
147
148 debug2:
149         ../../gdb/gdb-7.12.1/gdb/gdb target-mvp-dev/vompclient target-mvp-dev/core.*
150
151 dev: CXXFLAGS := $(CXXFLAGS_DEV)
152 dev: vompclient
153
154 release: CXXFLAGS := $(CXXFLAGS_REL)
155 release: clean vompclient strip
156
157 deps: GNUmakefile
158         $(CC) -MM $(INCLUDES)  $(OBJECTS:%.o=%.cc) > deps
159
160 -include deps
161
162 clean:
163         rm -f *.o deps vompclient *~ fonts/*.o fonts/*~ teletxt/*.o
164