source: trunk/Makefile@ 45

Last change on this file since 45 was 45, checked in by smurzch2, 15 years ago

Now it compiles also on cygwin.

But not really tested, as I don't have a real Windows PC.
Should works, except the videoguard2.
Thanks to the streamboard guys for reporting the bug and helping in the
resolution.

File size: 12.8 KB
Line 
1 SHELL = /bin/sh
2
3VER = $(subst ",,$(filter-out \#define CS_VERSION,$(shell grep CS_VERSION globals.h)))
4export VER
5
6linux: i386-pc-linux
7freebsd: i386-pc-freebsd
8tuxbox: cross-powerpc-tuxbox-linux
9win: cross-i386-pc-cygwin
10cygwin: i386-pc-cygwin
11
12std: linux \
13 cross-i386-pc-cygwin \
14 cross-powerpc-tuxbox-linux \
15 cross-i386-pc-freebsd \
16 cross-arm-nslu2-linux \
17 cross-mipsel-router-linux-uclibc927 \
18 cross-mipsel-router-linux-uclibc928 \
19 cross-mipsel-tuxbox-linux-glibc \
20 cross-sh4-linux
21
22all: \
23 cross-sparc-sun-solaris2.7 \
24 cross-rs6000-ibm-aix4.2 \
25 cross-mips-sgi-irix6.5
26
27
28dist: std
29 @cd Distribution && tar cvf "../oscam$(VER).tar" *
30 @bzip2 -9f "oscam$(VER).tar"
31
32extra: all
33 @cd Distribution && tar cvf "../oscam$(VER)-extra.tar" *
34 @bzip2 -9f "oscam$(VER)-extra.tar"
35
36clean:
37 @-rm -rf oscam-ostype.h lib Distribution/oscam-*
38
39tar: clean
40 @tar cvf "oscam$(VER)-src.tar" Distribution Make* *.c *.h cscrypt csctapi
41 @bzip2 -9f "oscam$(VER)-src.tar"
42
43nptar: clean
44 @tar cvf "oscam$(VER)-nonpublic-src.tar" Distribution Make* *.c *.np *.h cscrypt csctapi csgbox
45 @bzip2 -9f "oscam$(VER)-nonpublic-src.tar"
46
47######################################################################
48#
49# LINUX native
50#
51######################################################################
52i386-pc-linux:
53 @-$(MAKE) --no-print-directory \
54 -f Maketype TYP=$(subst i386,$(shell uname --machine),$(subst cross-,,$@)) \
55 OS_LIBS="-lcrypto" \
56 OS_CULI="-lncurses" \
57 OS_PTLI="-lpthread" \
58 DS_OPTS="-O2 -DOS_LINUX" \
59 DS_CFLAGS="-c" \
60 DS_LDFLAGS="" \
61 DS_ARFLAGS="-rvsl" \
62 DS_CC=gcc \
63 DS_AR=ar \
64 DS_LD=ld \
65 DS_RL=ranlib \
66 DS_ST=strip
67
68######################################################################
69#
70# FreeBSD native
71#
72######################################################################
73i386-pc-freebsd:
74 @-$(MAKE) --no-print-directory \
75 -f Maketype TYP=$(subst cross-,,$@) \
76 OS_LIBS="" \
77 OS_CULI="-lncurses" \
78 OS_PTLI="-lpthread" \
79 DS_OPTS="-O2 -DOS_FREEBSD -DBSD_COMP -static-libgcc" \
80 DS_CFLAGS="-c" \
81 DS_LDFLAGS="" \
82 DS_ARFLAGS="-rvsl" \
83 DS_CC=gcc \
84 DS_AR=ar \
85 DS_LD=ld \
86 DS_RL=ranlib \
87 DS_ST=strip
88
89######################################################################
90#
91# FreeBSD 5.4 crosscompiler
92#
93######################################################################
94cross-i386-pc-freebsd:
95 @-$(MAKE) --no-print-directory \
96 -f Maketype TYP=$(subst cross-,,$@) \
97 OS_LIBS="" \
98 OS_CULI="-lncurses" \
99 OS_PTLI="-lpthread" \
100 DS_OPTS="-O2 -DOS_FREEBSD -DBSD_COMP -static-libgcc" \
101 DS_CFLAGS="-c" \
102 DS_LDFLAGS="" \
103 DS_ARFLAGS="-rvsl" \
104 DS_CC=i386-pc-freebsd5.4-gcc \
105 DS_AR=i386-pc-freebsd5.4-ar \
106 DS_LD=i386-pc-freebsd5.4-ld \
107 DS_RL=i386-pc-freebsd5.4-ranlib \
108 DS_ST=i386-pc-freebsd5.4-strip
109
110######################################################################
111#
112# Tuxbox crosscompiler
113#
114######################################################################
115cross-powerpc-tuxbox-linux:
116 @-$(MAKE) --no-print-directory \
117 -f Maketype TYP=$(subst cross-,,$@) \
118 OS_LIBS="-lcrypto -ldl" \
119 OS_CULI="-lncurses" \
120 OS_PTLI="-lpthread" \
121 DS_OPTS="-O2 -DOS_LINUX -DTUXBOX -DPPC" \
122 DS_CFLAGS="-c" \
123 DS_LDFLAGS="" \
124 DS_ARFLAGS="-rvsl" \
125 DS_CC=powerpc-tuxbox-linux-gnu-gcc \
126 DS_AR=powerpc-tuxbox-linux-gnu-ar \
127 DS_LD=powerpc-tuxbox-linux-gnu-ld \
128 DS_RL=powerpc-tuxbox-linux-gnu-ranlib \
129 DS_ST=powerpc-tuxbox-linux-gnu-strip
130
131cross-powerpc-tuxbox-linux-uclibc:
132 @-$(MAKE) --no-print-directory \
133 -f Maketype TYP=$(subst cross-,,$@) \
134 OS_LIBS="" \
135 OS_CULI="-lncurses" \
136 OS_PTLI="-lpthread" \
137 DS_OPTS="-O2 -DOS_LINUX -DTUXBOX -DPPC" \
138 DS_CFLAGS="-c" \
139 DS_LDFLAGS="" \
140 DS_ARFLAGS="-rvsl" \
141 DS_CC=powerpc-tuxbox-linux-uclibc-gcc \
142 DS_AR=powerpc-tuxbox-linux-uclibc-ar \
143 DS_LD=powerpc-tuxbox-linux-uclibc-ld \
144 DS_RL=powerpc-tuxbox-linux-uclibc-ranlib \
145 DS_ST=powerpc-tuxbox-linux-uclibc-strip
146
147
148######################################################################
149#
150# sh4 crosscompiler
151#
152######################################################################
153cross-sh4-linux:
154 @-$(MAKE) --no-print-directory \
155 -f Maketype TYP=$(subst cross-,,$@) \
156 OS_LIBS="" \
157 OS_CULI="-lncurses" \
158 OS_PTLI="-lpthread" \
159 DS_OPTS="-O2 -DOS_LINUX" \
160 DS_CFLAGS="-c" \
161 DS_LDFLAGS="" \
162 DS_ARFLAGS="-rvsl" \
163 DS_CC=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-gcc \
164 DS_AR=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ar \
165 DS_LD=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ld \
166 DS_RL=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ranlib \
167 DS_ST=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-strip
168
169######################################################################
170#
171# Cygwin crosscompiler
172#
173######################################################################
174cross-i386-pc-cygwin:
175 @-$(MAKE) --no-print-directory \
176 -f Maketype TYP=$(subst cross-,,$@) \
177 OS_LIBS="-lcrypto" \
178 OS_CULI="-lncurses" \
179 OS_PTLI="-lpthread" \
180 DS_OPTS="-O2 -DOS_CYGWIN32" \
181 DS_CFLAGS="-c" \
182 DS_LDFLAGS="" \
183 DS_ARFLAGS="-rvsl" \
184 DS_CC=i686-pc-cygwin-gcc \
185 DS_AR=i686-pc-cygwin-ar \
186 DS_LD=i686-pc-cygwin-ld \
187 DS_RL=i686-pc-cygwin-ranlib \
188 DS_ST=i686-pc-cygwin-strip
189
190######################################################################
191#
192# Cygwin native
193#
194######################################################################
195i386-pc-cygwin:
196 @-$(MAKE) --no-print-directory \
197 -f Maketype TYP=$(subst cross-,,$@) \
198 OS_LIBS="-lcrypto" \
199 OS_CULI="-lncurses" \
200 OS_PTLI="-lpthread" \
201 DS_OPTS="-O2 -DOS_CYGWIN32 -I /tmp/include" \
202 DS_CFLAGS="-c" \
203 DS_LDFLAGS="" \
204 DS_ARFLAGS="-rvsl" \
205 DS_CC=gcc \
206 DS_AR=ar \
207 DS_LD=ld \
208 DS_RL=ranlib \
209 DS_ST=strip
210
211######################################################################
212#
213# Solaris 7 crosscompiler
214#
215######################################################################
216cross-sparc-sun-solaris2.7:
217 @-$(MAKE) --no-print-directory \
218 -f Maketype TYP=$(subst cross-,,$@) \
219 OS_LIBS="" \
220 OS_CULI="-lncurses" \
221 OS_PTLI="-lpthread" \
222 DS_OPTS="-O2 -DOS_SOLARIS -DOS_SOLARIS7 -DBSD_COMP -static-libgcc" \
223 DS_CFLAGS="-c" \
224 DS_LDFLAGS="-lsocket" \
225 DS_ARFLAGS="-rvsl" \
226 DS_CC=sparc-sun-solaris2.7-gcc \
227 DS_AR=sparc-sun-solaris2.7-ar \
228 DS_LD=sparc-sun-solaris2.7-ld \
229 DS_RL=sparc-sun-solaris2.7-ranlib \
230 DS_ST=sparc-sun-solaris2.7-strip
231
232######################################################################
233#
234# AIX 4.2 crosscompiler
235#
236######################################################################
237cross-rs6000-ibm-aix4.2:
238 @-$(MAKE) --no-print-directory \
239 -f Maketype TYP=$(subst cross-,,$@) \
240 OS_LIBS="" \
241 OS_CULI="-lncurses" \
242 OS_PTLI="-lpthreads" \
243 DS_OPTS="-O2 -DOS_AIX -DOS_AIX42 -static-libgcc" \
244 DS_CFLAGS="-c" \
245 DS_LDFLAGS="" \
246 DS_ARFLAGS="-rvsl" \
247 DS_CC=rs6000-ibm-aix4.2-gcc \
248 DS_AR=rs6000-ibm-aix4.2-ar \
249 DS_LD=rs6000-ibm-aix4.2-ld \
250 DS_RL=rs6000-ibm-aix4.2-ranlib \
251 DS_ST=rs6000-ibm-aix4.2-strip
252
253######################################################################
254#
255# IRIX 6.5 crosscompiler
256#
257######################################################################
258cross-mips-sgi-irix6.5:
259 @-$(MAKE) --no-print-directory \
260 -f Maketype TYP=$(subst cross-,,$@) \
261 OS_LIBS="" \
262 OS_CULI="-lncurses" \
263 OS_PTLI="-lpthread" \
264 DS_OPTS="-O2 -DOS_IRIX -DOS_IRIX65 -static-libgcc" \
265 DS_CFLAGS="-c" \
266 DS_LDFLAGS="" \
267 DS_ARFLAGS="-rvsl" \
268 DS_CC=mips-sgi-irix6.5-gcc \
269 DS_AR=mips-sgi-irix6.5-ar \
270 DS_LD=mips-sgi-irix6.5-ld \
271 DS_RL=mips-sgi-irix6.5-ranlib \
272 DS_ST=mips-sgi-irix6.5-strip
273
274cross-mipsel-router-linux-uclibc: cross-mipsel-router-linux-uclibc928
275######################################################################
276#
277# Linux MIPS(LE) crosscompiler with ucLibc 0.9.27
278#
279######################################################################
280cross-mipsel-router-linux-uclibc927:
281 @-mipsel-linux-uclibc-setlib 0.9.27
282 @-$(MAKE) --no-print-directory \
283 -f Maketype TYP=$(subst cross-,,$@) \
284 OS_LIBS="" \
285 OS_CULI="-lncurses" \
286 OS_PTLI="-lpthread" \
287 DS_OPTS="-O2 -DOS_LINUX -DMIPSEL -DUCLIBC -DUSE_GPIO -static-libgcc" \
288 DS_CFLAGS="-c" \
289 DS_LDFLAGS="" \
290 DS_ARFLAGS="-rvsl" \
291 DS_CC=mipsel-linux-uclibc-gcc \
292 DS_AR=mipsel-linux-uclibc-ar \
293 DS_LD=mipsel-linux-uclibc-ld \
294 DS_RL=mipsel-linux-uclibc-ranlib \
295 DS_ST=mipsel-linux-uclibc-strip
296
297######################################################################
298#
299# Linux MIPS(LE) crosscompiler with ucLibc 0.9.28
300#
301######################################################################
302cross-mipsel-router-linux-uclibc928:
303 @-mipsel-linux-uclibc-setlib 0.9.28
304 @-$(MAKE) --no-print-directory \
305 -f Maketype TYP=$(subst cross-,,$@) \
306 OS_LIBS="" \
307 OS_CULI="-lncurses" \
308 OS_PTLI="-lpthread" \
309 DS_OPTS="-O2 -DOS_LINUX -DMIPSEL -DUCLIBC -DUSE_GPIO -static-libgcc" \
310 DS_CFLAGS="-c" \
311 DS_LDFLAGS="" \
312 DS_ARFLAGS="-rvsl" \
313 DS_CC=mipsel-linux-uclibc-gcc \
314 DS_AR=mipsel-linux-uclibc-ar \
315 DS_LD=mipsel-linux-uclibc-ld \
316 DS_RL=mipsel-linux-uclibc-ranlib \
317 DS_ST=mipsel-linux-uclibc-strip
318
319######################################################################
320#
321# Linux MIPS(LE) crosscompiler with glibc (DM7025)
322#
323######################################################################
324cross-mipsel-tuxbox-linux-glibc:
325 @-$(MAKE) --no-print-directory \
326 -f Maketype TYP=$(subst cross-,,$@) \
327 OS_LIBS="-lcrypto" \
328 OS_CULI="-lncurses" \
329 OS_PTLI="-lpthread" \
330 DS_OPTS="-O2 -DOS_LINUX -DTUXBOX -DMIPSEL -static-libgcc" \
331 DS_CFLAGS="-c" \
332 DS_LDFLAGS="" \
333 DS_ARFLAGS="-rvsl" \
334 DS_CC=mipsel-linux-glibc-gcc \
335 DS_AR=mipsel-linux-glibc-ar \
336 DS_LD=mipsel-linux-glibc-ld \
337 DS_RL=mipsel-linux-glibc-ranlib \
338 DS_ST=mipsel-linux-glibc-strip
339
340cross-mipsel-tuxbox-linux:
341 @-$(MAKE) --no-print-directory \
342 -f Maketype TYP=$(subst cross-,,$@) \
343 OS_LIBS="-lcrypto" \
344 OS_CULI="-lncurses" \
345 OS_PTLI="-lpthread" \
346 DS_OPTS="-O2 -DOS_LINUX -DTUXBOX -DMIPSEL -static-libgcc" \
347 DS_CFLAGS="-c" \
348 DS_LDFLAGS="" \
349 DS_ARFLAGS="-rvsl" \
350 DS_CC=mipsel-linux-gcc \
351 DS_AR=mipsel-linux-ar \
352 DS_LD=mipsel-linux-ld \
353 DS_RL=mipsel-linux-ranlib \
354 DS_ST=mipsel-linux-strip
355
356######################################################################
357#
358# HP/UX 10.20 native
359#
360######################################################################
361hppa1.1-hp-hpux10.20:
362 @-$(MAKE) --no-print-directory \
363 -f Maketype TYP=$(subst cross-,,$@) \
364 OS_LIBS="" \
365 OS_CULI="-lncurses" \
366 OS_PTLI="-lpthread" \
367 DS_OPTS="-O2 -DOS_HPUX -DOS_HPUX10 -D_XOPEN_SOURCE_EXTENDED" \
368 DS_CFLAGS="-c" \
369 DS_LDFLAGS="" \
370 DS_ARFLAGS="-rvsl" \
371 DS_CC=gcc \
372 DS_AR=ar \
373 DS_LD=ld \
374 DS_RL=ranlib \
375 DS_ST=strip
376
377######################################################################
378#
379# OSF5.1 native
380#
381######################################################################
382alpha-dec-osf5.1:
383 @-$(MAKE) --no-print-directory \
384 -f Maketype TYP=$(subst cross-,,$@) \
385 OS_LIBS="" \
386 OS_CULI="-lncurses" \
387 OS_PTLI="-lpthread" \
388 DS_OPTS="-O2 -DOS_OSF -DOS_OSF5" \
389 XDS_CFLAGS="-I/usr/include -c" \
390 DS_CFLAGS="-c" \
391 DS_LDFLAGS="" \
392 DS_ARFLAGS="-rvsl" \
393 DS_CC=cc \
394 DS_AR=ar \
395 DS_LD=ld \
396 DS_RL=ranlib \
397 DS_ST=strip
398
399######################################################################
400#
401# ARM crosscompiler (big-endian)
402#
403######################################################################
404cross-arm-nslu2-linux:
405 @-$(MAKE) --no-print-directory \
406 -f Maketype TYP="$(subst cross-,,$@)" \
407 OS_LIBS="" \
408 OS_CULI="-lncurses" \
409 OS_PTLI="-lpthread" \
410 DS_OPTS="-DOS_LINUX -O2 -DARM -DALIGNMENT" \
411 DS_CFLAGS="-c" \
412 DS_LDFLAGS="" \
413 DS_ARFLAGS="-rvsl" \
414 DS_AWK="awk" \
415 DS_CC="armv5b-softfloat-linux-gcc" \
416 DS_AR="armv5b-softfloat-linux-ar" \
417 DS_LD="armv5b-softfloat-linux-ld" \
418 DS_RL="armv5b-softfloat-linux-ranlib" \
419 DS_ST="armv5b-softfloat-linux-strip"
420
421######################################################################
422#
423# ARM crosscompiler (big-endian)
424#
425######################################################################
426cross-armBE-unkown-linux:
427 -$(MAKE) --no-print-directory \
428 -f Maketype TYP="$(subst cross-,,$@)" \
429 OS_LIBS="" \
430 OS_CULI="-lncurses" \
431 OS_PTLI="-lpthread" \
432 DS_OPTS="-DOS_LINUX -O2 -DARM -DALIGNMENT" \
433 DS_CFLAGS="-c" \
434 DS_LDFLAGS="" \
435 DS_ARFLAGS="-rvsl" \
436 DS_AWK="awk" \
437 DS_CC="arm-linux-gcc -mbig-endian" \
438 DS_AR="arm-linux-ar" \
439 DS_LD="arm-linux-ld -EB" \
440 DS_RL="arm-linux-ranlib" \
441 DS_ST="arm-linux-strip"
442
443######################################################################
444#
445# ARM crosscompiler (little-endian)
446#
447######################################################################
448cross-armLE-unkown-linux:
449 -$(MAKE) --no-print-directory \
450 -f Maketype TYP="$(subst cross-,,$@)" \
451 OS_LIBS="" \
452 OS_CULI="-lncurses" \
453 OS_PTLI="-lpthread" \
454 DS_OPTS="-DOS_LINUX -O2 -DARM -DALIGNMENT" \
455 DS_CFLAGS="-c" \
456 DS_LDFLAGS="" \
457 DS_ARFLAGS="-rvsl" \
458 DS_AWK="awk" \
459 DS_CC="arm-linux-gcc -mlittle-endian" \
460 DS_AR="arm-linux-ar" \
461 DS_LD="arm-linux-ld -EL" \
462 DS_RL="arm-linux-ranlib" \
463 DS_ST="arm-linux-strip"
Note: See TracBrowser for help on using the repository browser.