2 HOSTTYPE
:= $(shell uname
-m
)
5 OSTYPE
:= $(shell uname
-s | awk
-F_
'{print $$1}' | tr A-Z a-z
)
8 ifeq ($(HOSTTYPE
),i586
)
11 ifeq ($(HOSTTYPE
),i686
)
17 ifeq ($(HOSTTYPE
),macintosh
)
18 ifeq ($(MACHTYPE
),powerpc
)
36 HOST_OBJCOPY
:= objcopy
40 # setup some local commands
43 ifeq ($(OSTYPE
),SunOS
)
47 ifeq ($(findstring solaris
,$(OSTYPE
)),solaris
)
52 BOOTMAKER
= tools
/bootmaker
53 NETBOOT
= tools
/netboot
55 BIN2ASM
= tools
/bin2asm
61 OBJCOPY
= $(HOST_OBJCOPY
)
66 ifneq ($(HOSTTYPE
),i386
)
71 OBJCOPY
= i386-elf-objcopy
72 STRIP
= i386-elf-strip
74 ifeq ($(OSTYPE
),cygwin
)
79 OBJCOPY
= i386-linux-objcopy
80 STRIP
= i386-linux-strip
83 KERNEL_CFLAGS
= -fno-pic
87 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
95 OBJCOPY
= sh-elf-objcopy
97 GLOBAL_CFLAGS
= -ml
-m4
-mhitachi
-O
98 KERNEL_CFLAGS
= -fno-pic
102 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)/ml
/m4-single-only
105 ifeq ($(ARCH
),sparc64
)
110 OBJCOPY
= sparc64-elf-objcopy
111 STRIP
= sparc64-elf-strip
115 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
119 ifneq ($(HOSTTYPE
),sparc
)
124 OBJCOPY
= sparc-elf-objcopy
125 STRIP
= sparc-elf-strip
130 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
134 ifneq ($(HOSTTYPE
),alpha
)
139 OBJCOPY
= alpha-elf-objcopy
140 STRIP
= alpha-elf-strip
145 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
149 ifneq ($(HOSTTYPE
),m68k
)
154 OBJCOPY
= m68k-elf-objcopy
155 STRIP
= m68k-elf-strip
158 GLOBAL_CFLAGS
= -O0
-g
159 KERNEL_CFLAGS
= -fno-pic
163 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
167 ifneq ($(HOSTTYPE
),mips
)
172 OBJCOPY
= mips-elf-objcopy
173 STRIP
= mips-elf-strip
175 GLOBAL_CFLAGS
= -fno-pic
-mips4
-meb
-G
0
178 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
182 ifneq ($(HOSTTYPE
),ppc
)
187 OBJCOPY
= ppc-elf-objcopy
188 STRIP
= ppc-elf-strip
190 GLOBAL_CFLAGS
= -fno-pic
-O
193 LIBGCC_PATH
= lib
/libgcc
/$(ARCH
)
196 OBJ_DIR
= obj.
$(ARCH
)
198 GLOBAL_CFLAGS
+= -Wall
-W
-Wno-multichar
-Wno-unused
-Wmissing-prototypes
-finline
-nostdinc
-fno-builtin
-DARCH_
$(ARCH
) -DNEWOS
=1
200 # sub makefiles are responsible for adding to these
207 # include the top level makefile
208 include boot
/$(ARCH
)/boot.mk
212 BOOTMAKER_ARGS
+= --sparc
216 rm -f final.
$(ARCH
);ln
-sf
$(FINAL
) final.
$(ARCH
)
217 rm -f system.
$(ARCH
);ln
-sf
$(KERNEL
) system.
$(ARCH
)
219 tools
: $(BOOTMAKER
) $(BIN2H
) $(BIN2ASM
)
221 $(BOOTMAKER
): $(BOOTMAKER
).c tools
/sparcbootblock.h
222 $(HOST_CC
) -O0
-g
-o
$@
$(BOOTMAKER
).c
225 ifeq ($(OSTYPE
),beos
)
226 NETBOOT_LINK_ARGS
= -lnet
228 ifeq ($(shell uname
),SunOS
)
229 NETBOOT_LINK_ARGS
= -lsocket
-lnsl
232 $(NETBOOT
): $(NETBOOT
).c
233 $(HOST_CC
) -O3
-o
$@
$(NETBOOT
).c
$(NETBOOT_LINK_ARGS
)
235 $(BIN2ASM
): $(BIN2ASM
).c
236 $(HOST_CC
) -O3
-o
$@
$(BIN2ASM
).c
239 $(HOST_CC
) -O3
-o
$@
$(BIN2H
).c
242 rm -f
$(BOOTMAKER
) $(NETBOOT
) $(NETBOOT_DC
) $(BIN2H
) $(BIN2ASM
)
247 rm -f
$(KERNEL
) $(FINAL
)
248 rm -f final.
$(ARCH
) system.
$(ARCH
)
253 allclean
: depsclean
clean toolsclean
254 rm -f
`find . -type f -name '*.d'`
255 rm -f
`find . -type f -name '*.o'`
257 ifeq ($(filter $(MAKECMDGOALS
), allclean
), )