3 HOSTTYPE := $(shell uname -m)
6 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)
35 HOST_OBJCOPY := objcopy
39 # setup some local commands
42 ifeq ($(OSTYPE),SunOS)
46 ifeq ($(findstring solaris,$(OSTYPE)),solaris)
55 OBJCOPY = $(HOST_OBJCOPY)
60 ifneq ($(HOSTTYPE),i386)
65 OBJCOPY = i386-elf-objcopy
66 STRIP = i386-elf-strip
68 ifeq ($(OSTYPE),cygwin)
73 OBJCOPY = i386-linux-objcopy
74 STRIP = i386-linux-strip
77 KERNEL_CFLAGS = -fno-pic
81 LIBGCC_PATH = lib/libgcc/$(ARCH)
89 OBJCOPY = sh-elf-objcopy
91 GLOBAL_CFLAGS = -ml -m4 -mhitachi -O2
92 KERNEL_CFLAGS = -fno-pic
96 LIBGCC_PATH = lib/libgcc/$(ARCH)/ml/m4-single-only
99 ifeq ($(ARCH),sparc64)
104 OBJCOPY = sparc64-elf-objcopy
105 STRIP = sparc64-elf-strip
109 LIBGCC_PATH = lib/libgcc/$(ARCH)
113 ifneq ($(HOSTTYPE),sparc)
118 OBJCOPY = sparc-elf-objcopy
119 STRIP = sparc-elf-strip
124 LIBGCC_PATH = lib/libgcc/$(ARCH)
128 ifneq ($(HOSTTYPE),m68k)
133 OBJCOPY = m68k-elf-objcopy
134 STRIP = m68k-elf-strip
137 GLOBAL_CFLAGS = -O0 -g
138 KERNEL_CFLAGS = -fno-pic
142 LIBGCC_PATH = lib/libgcc/$(ARCH)
146 ifneq ($(HOSTTYPE),alpha)
151 OBJCOPY = alpha-elf-objcopy
156 LIBGCC_PATH = lib/libgcc/$(ARCH)
160 ifneq ($(HOSTTYPE),mips)
165 OBJCOPY = mips-elf-objcopy
167 GLOBAL_CFLAGS = -fno-pic -mips4 -meb -G 0
170 LIBGCC_PATH = lib/libgcc/$(ARCH)
174 ifneq ($(HOSTTYPE),ppc)
179 OBJCOPY = ppc-elf-objcopy
180 STRIP = ppc-elf-strip
182 GLOBAL_CFLAGS = -fno-pic -O
185 LIBGCC_PATH = lib/libgcc/$(ARCH)
188 GLOBAL_CFLAGS += -Wall -W -Wno-multichar -Wno-unused -Wmissing-prototypes -finline -nostdinc -fno-builtin -DARCH_$(ARCH) -DNEWOS=1
191 $(warning ARCH = $(ARCH))
193 # figure out where the build dir will be
194 BUILD_DIR = build/$(ARCH)
195 $(warning buid dir will be $(BUILD_DIR))
196 $(shell mkdir -p $(BUILD_DIR))