source: trunk/Makefile@ 54

Last change on this file since 54 was 54, checked in by smurzch2, 14 years ago

Preliminary support for Mac OS X.

Now, it compile, but it will not work with the serial port.
Thanks rorothetroll for this patch

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