1 # $Date: 2012-08-10 13:47:28 +0200 (Fr, 10. Aug 2012) $
3 #############################################################
6 # On OS4 use gmake to build Scalos
8 ##############################################################################
11 MACHINE
:= $(shell gcc
$(CFLAGS
) -dumpmachine
)
14 ifeq ($(MAKECMDGOALS
),install)
17 ifeq ($(MAKECMDGOALS
),clean)
20 ifeq ($(MAKECMDGOALS
),nodebug
)
24 SVNVERSION
:= $(shell svnversion
-n
)
27 ##############################################################################
29 ifeq ($(MACHINE
), ppc-morphos
)
31 ##############################################################################
33 ##############################################################################
38 GCCVERSION
:= $(shell $(CC
) $(CFLAGS
) -dumpversion
)
41 #ifneq ($(GCCVERSION), 4.4.4)
43 # GCCVERSION := $(shell $(CC) $(CFLAGS) -dumpversion)
49 RANLIB
= ppc-morphos-ranlib
50 STRIP
= ppc-morphos-strip
51 DUMP
= ppc-morphos-objdump
55 WARNINGS
= -Wall
-Wno-parentheses
-Wunused
-Wuninitialized
-Winline
57 ifeq ($(GCCVERSION
), 4.4.5)
58 WARNINGS
+= -Wno-pointer-sign
60 ifeq ($(GCCVERSION
), 4.4.4)
61 WARNINGS
+= -Wno-pointer-sign
63 ifeq ($(GCCVERSION
), 4.0.4)
64 WARNINGS
+= -Wno-pointer-sign
69 OPTIONS
= -noixemul
-mregnames
-mmultiple
-mno-prototype
-mfused-madd
-funsigned-char
71 OPTIMIZE
= -O2
-fomit-frame-pointer
-fschedule-insns2
-fbranch-count-reg
-fno-strict-aliasing
73 INCLUDES
= -I
$(TOPLEVEL
)/ppc-mos-include
-I
$(TOPLEVEL
)/include
77 LFLAGS
= -L
$(TOPLEVEL
)/ppc-mos-gcc-lib \
78 -noixemul
-laboxstubs
-ldebug
80 CFLAGS
= $(WARNINGS
) $(OPTIMIZE
) $(DEBUG
) $(CPU
) $(OPTIONS
) $(INCLUDES
) -I.
82 SFLAGS
= --remove-section .comment
84 DFLAGS
= --syms
--reloc
--disassemble-all
89 ############################################################################
91 DEFINES
= -D
$(CODETYPE
) -D__MORPHOS__
-DAMIGA
-DSVN_VERSION
="$(SVNVERSION)"
93 ##############################################################################
95 ##############################################################################
98 ifeq ($(MACHINE
), ppc-amigaos
)
100 ##############################################################################
102 ##############################################################################
108 RANLIB
= ppc-amigaos-ranlib
109 STRIP
= ppc-amigaos-strip
110 DUMP
= ppc-amigaos-objdump
114 WARNINGS
= -Wall
-Wno-parentheses
-Wunused
-Wuninitialized
120 OPTIONS
= -mcrt
=$(OS4_CRT
)
122 OPTIMIZE
= -O2
-fomit-frame-pointer
-fschedule-insns2
-fbranch-count-reg
-fno-strict-aliasing
124 INCLUDES
= -I
$(TOPLEVEL
)/ppc-aos4-include
-I
$(TOPLEVEL
)/include
128 LFLAGS
= -mcrt
=$(OS4_CRT
) -L
$(TOPLEVEL
)/ppc-aos4-gcc-lib \
131 CFLAGS
= $(WARNINGS
) $(OPTIMIZE
) $(DEBUG
) $(CPU
) $(OPTIONS
) $(INCLUDES
) -I.
133 SFLAGS
= --remove-section .comment
135 DFLAGS
= --syms
--reloc
--disassemble-all
140 ############################################################################
142 OS4LIBBASE
= -D__NOLIBBASE__
143 DEFINES
= -D
$(CODETYPE
) -D__USE_INLINE__
$(OS4LIBBASE
) -Dstccpy
=strlcpy \
144 -DSVN_VERSION
="$(SVNVERSION)"
146 ##############################################################################
148 ##############################################################################
151 ifeq ($(MACHINE
), i386-aros
)
153 ##############################################################################
155 ##############################################################################
157 CC
= i386-linux-aros-gcc
158 AS
= i386-linux-aros-as
159 LD
= i386-linux-aros-ld
160 AR
= i386-linux-aros-ar
161 RANLIB
= i386-linux-aros-ranlib
162 STRIP
= i386-linux-aros-strip
163 DUMP
= i386-linux-aros-objdump
167 WARNINGS
= -Wall
-Wno-parentheses
-Wunused
-Wuninitialized
-Wno-pointer-sign
171 OPTIONS
= -D__USE_BASETYPE__
173 OPTIMIZE
= -O2
-fomit-frame-pointer
-fschedule-insns2
-fbranch-count-reg
-fno-strict-aliasing
175 INCLUDES
= -I
$(TOPLEVEL
)/include
181 CFLAGS
= $(WARNINGS
) $(OPTIMIZE
) $(DEBUG
) $(CPU
) $(OPTIONS
) $(INCLUDES
) -I.
183 SFLAGS
= --remove-section .comment
--strip-unneeded
185 DFLAGS
= --syms
--reloc
--disassemble-all
187 OBJDIR
= .obj_i386-aros
188 BINDIR
= .bin_i386-aros
190 ############################################################################
192 DEFINES
= -DAMIGA
-DSVN_VERSION
="$(SVNVERSION)"
194 ##############################################################################
196 ##############################################################################
200 ##############################################################################
202 ##############################################################################
204 CC
= m68k-amigaos-gcc
205 #AS = m68k-amigaos-as
209 RANLIB
= m68k-amigaos-ranlib
210 STRIP
= m68k-amigaos-strip
211 DUMP
= m68k-amigaos-objdump
215 WARNINGS
= -Wall
-Wno-parentheses
-Wno-unused
-Wno-missing-braces \
220 OPTIONS
= -noixemul
-msoft-float
-fno-strict-aliasing
222 OPTIMIZE
= -O2
-fomit-frame-pointer
224 INCLUDES
= -I
$(TOPLEVEL
)/include -Igg
:include -Iinclude
:
228 LFLAGS
= -noixemul
-L
$(TOPLEVEL
)/68k-gcc-lib \
229 -Lgg
:lib
-Lgg
:lib
/libnix
231 CFLAGS
= $(WARNINGS
) $(OPTIMIZE
) $(DEBUG
) $(CPU
) $(OPTIONS
) $(INCLUDES
) -I.
233 SFLAGS
= --strip-all
--strip-unneeded
--remove-section .comment
235 DFLAGS
= --syms
--reloc
--disassemble-all
237 ASFLAGS
= quiet m
=68020 linedebug opt
=NRQB i
=sc
:Assembler_Headers
/
241 STARTUP
= $(LIBPATH
)/libnix
/ncrt0.o
242 #STARTUP = $(LIBPATH)/libnix/detach.o gg:lib/asm_debug.o
247 ##############################################################################
249 DEFINES
= -D
$(CODETYPE
) -DSVN_VERSION
=$(SVNVERSION
)
251 ##############################################################################
253 ##############################################################################
259 ##############################################################################
272 ##############################################################################
274 TOOLSDIR
= $(TOPLEVEL
)/tools
276 ##############################################################################
278 FIXDEPS
= $(TOOLSDIR
)/fixdeps
280 ##############################################################################