revert previous incorrect version of commit and recommit correct version to allow...
[AROS.git] / rom / kernel / mmakefile.src
blobd61c728d26e1154d21b21f3b61be19c76ab97652
1 # $Id$
3 include $(SRCDIR)/config/aros.cfg
6 # Allow to override include files by placing them in arch-specific directories
7 # Note that kernel_#?.h files must be included using #include <name>, not #include "name"
8 # for this to work.
9 # __AROS_EXEC_LIBRARY__ definition is needed for UNIX-hosted builds. kernel_base.h includes
10 # kernel_cpu.h, which needs host OS includes for some CPU-specific defintions (host OS CPU context).
11 # The code in rom/kernel is plain AROS code, it must not depend on host includes in any way, in order
12 # not to overcomplicate the build. This definition prevents kernel_cpu.h from including host-specific
13 # stuff. The name of this definition is legacy, in ancient times exec.library included some private
14 # kernel's stuff and needed this.
15 USER_INCLUDES := $(PRIV_KERNEL_INCLUDES)
16 USER_CPPFLAGS := -D__AROS_EXEC_LIBRARY__ \
17                 -DAROS_ARCHITECTURE="\"$(AROS_TARGET_PLATFORM)\"" \
19 # Allow to add architecture-specific options
20 -include $(SRCDIR)/arch/all-$(ARCH)/kernel/make.opts
21 -include $(SRCDIR)/arch/$(CPU)-$(ARCH)/kernel/make.opts
22 ifneq ($(AROS_TARGET_VARIANT),)
23 -include $(SRCDIR)/arch/$(CPU)-$(ARCH)/$(AROS_TARGET_VARIANT)/kernel/make.opts
24 endif
26 FUNCS :=     spininit spinislocked spintrylock spinlock spinunlock addexceptionhandler           \
27              allocirq modifyirq addirqhandler modifyirqhandler cause cli sti                     \
28              bug createcontext deletecontext displayalert dispatch getbootinfo issuper mapglobal \
29              remexceptionhandler remirqhandler schedule setprotection getscheduler setscheduler  \
30              switch unmapglobal virtualtophysical obtaininput releaseinput                       \
31              putchar maygetchar allocpages freepages getsystemattr formatstr                     \
32              initmemory statmemory _bug _displayalert                                            \
33              getcpucount getcpunumber alloccpumask clearcpumask getcpumask cpuinmask             \
34              freecpumask schedulecpu allockernelbase prepareexecbase
35 FILES     := kernel_init cpu_init kernel_debug kernel_panic                                      \
36              kernel_cpu kernel_intr kernel_interruptcontroller                                   \
37              kernel_memory kernel_romtags kernel_scheduler kernel_globals tlsf
38 MMU_FILES := kernel_mm
39 # You can replace this with own algorithm
40 ALLOCATOR := mm_linear
42 ifeq ($(USE_MMU),1)
43     FILES += $(MMU_FILES) $(ALLOCATOR)
44 endif
46 %build_module mmake=kernel-kernel \
47   modname=kernel modtype=resource version=$(AROS_TARGET_PLATFORM) \
48   files="$(FILES) $(FUNCS)" nostartup=no archspecific=yes
50 %common