1 # General Purpose configuration parameters
2 #CFLAGS += $(CONFIG_APPSERVER)
3 #CFLAGS += $(CONFIG_DEMO_SLAVE)
5 # Kernel configuration parameters
6 KERN_CFLAGS += $(CONFIG_KFS)
7 #KERN_CFLAGS += $(CONFIG_EXT2FS)
8 #KERN_CFLAGS += $(CONFIG_SINGLE_CORE)
9 #KERN_CFLAGS += $(CONFIG_NETWORKING)
10 #KERN_CFLAGS += $(CONFIG_SERIAL_IO)
11 #KERN_CFLAGS += $(CONFIG_BSD_ON_CORE0)
12 # Enabling this can cause userspace to make the kernel panic.
13 #KERN_CFLAGS += $(CONFIG_SEQLOCK_DEBUG)
14 #KERN_CFLAGS += $(CONFIG_SPINLOCK_DEBUG)
15 #KERN_CFLAGS += $(CONFIG_SPINPDR_NO_CAS)
16 #KERN_CFLAGS += $(CONFIG_PAGE_COLORING)
17 #KERN_CFLAGS += $(CONFIG_DEMAND_PAGING)
18 #KERN_CFLAGS += $(CONFIG_NOMTRRS)
19 #KERN_CFLAGS += $(CONFIG_E1000_MMIO_HACK)
20 #KERN_CFLAGS += $(CONFIG_E1000_ON_BOXBORO)
21 #KERN_CFLAGS += $(CONFIG_E1000_ON_S142)
22 #KERN_CFLAGS += $(CONFIG_ENABLE_MPTABLES)
23 #KERN_CFLAGS += $(CONFIG_MONITOR_ON_INT)
24 #KERN_CFLAGS += $(CONFIG_DISABLE_SMT)
25 #KERN_CFLAGS += $(CONFIG_BOXBORO)
26 # Enable this to set up ARSC server
27 #KERN_CFLAGS += $(CONFIG_ARSC_SERVER)
28 # Resets stacks in smp_idle(), at the expense of backtrace
29 #KERN_CFLAGS += $(CONFIG_RESET_STACKS)
30 #KERN_CFLAGS += $(CONFIG_PCI_VERBOSE)
31 # Rimas's Ethernet audio device
32 #KERN_CFLAGS += $(CONFIG_ETH_AUDIO)
33 # Avoid KB input on buggy nehalems (brho's machine)
34 #KERN_CFLAGS += $(CONFIG_KB_CORE0_ONLY)
35 #KERN_CFLAGS += $(CONFIG_KTHREAD_POISON)
36 #KERN_CFLAGS += $(CONFIG_PRINTK_NO_BACKSPACE)
38 #KERN_CFLAGS += -DDEVELOPER_NAME=waterman
39 #KERN_CFLAGS += -DDEVELOPER_NAME=brho
42 # Paths for the initramfs (need to be directories)
43 #INITRAMFS_PATHS = kern/kfs obj/tests
44 INITRAMFS_PATHS = kern/kfs
45 # Program to execute before building the initramfs
46 #INITRAMFS_BIN = tools/whatever.sh
47 # Image for ext2 (RAM version) (only brho uses this )
48 #EXT2_BDEV = mnt/ext2fs.img
50 # Userspace configuration parameters
51 #USER_CFLAGS += $(CONFIG_SYSCALL_TRAP)
52 #USER_CFLAGS += $(CONFIG_USER_DEBUGINFO)
54 # User tests configuration parameters
55 #TESTS_CFLAGS += $(CONFIG_STATIC_APPS)
57 # Number of jobs in make
60 # Default for sparc (i.e. needs an appserver)
61 ifeq ($(TARGET_ARCH),sparc)
62 KERN_CFLAGS += $(CONFIG_APPSERVER)
63 KERN_CFLAGS += -DDEVELOPER_NAME=waterman
66 # brho's (edited) KVM, USB, PXE, ETC make targets
67 #kvm: $(OBJDIR)/kern/kernel
68 # $(V)echo "+ (KVM) Copying to mnt/hdd"
69 # $(V)cp $(OBJDIR)/kern/kernel mnt/hdd/kernel
73 #usb: $(OBJDIR)/kern/kernel
74 # $(V)echo "+ (USB) Copying to /dev/sdc4"
76 # $(V)cp $(OBJDIR)/kern/kernel /mnt/usbstick/kernel
78 # $(V)umount /mnt/usbstick
80 #pxe: $(OBJDIR)/kern/kernel
81 # $(V)echo "+ (PXE) Compressing..."
82 # $(V)gzip -c $(OBJDIR)/kern/kernel > $(OBJDIR)/kern/akaros-kernel.gz
83 # $(V)echo "+ (PXE) Copying to Watson"
84 # $(V)scp $(OBJDIR)/kern/akaros-kernel.gz watson.millennium.berkeley.edu:/tftpboot/akaros/akaros-kernel.gz
87 $(MAKE) TARGET_ARCH=i686
90 $(MAKE) TARGET_ARCH=sparc
93 $(MAKE) TARGET_ARCH=riscv
95 # various sparc functional simulator configurations
98 sparc_app -p$(NP) -fappserver_ros.conf fs obj/kern/kernel none
100 sparc_app_debug -p$(NP) -fappserver_ros.conf fs obj/kern/kernel none
102 sparc_app -p$(NP) -fappserver_ros.conf hw obj/kern/kernel none
104 # risc-v functional simulator
106 fesvr -p$(NP) -nopk obj/kern/kernel
108 fesvr -d -p$(NP) -nopk obj/kern/kernel
110 .PHONY: fs fsd hw rvfs rvfsd