arch/m68k-amiga: Native Amiga support
[AROS.git] / arch / m68k-amiga / boot / mmakefile.src
blob6b6869d03421150aeddd652e190da029d590ba9a
1 include $(TOP)/config/make.cfg
4 # Rules to create AROS for amiga-m68k
7 #MM- AROS-amiga-m68k : general-setup-amiga-m68k kernel-amiga-m68k software-amiga-m68k
9 #MM- software-amiga-m68k : general-setup binary-amiga-m68k \
10 #MM         workbench-amiga-m68k demos contrib-necessary
12 #MM- workbench-amiga-m68k : workbench-complete workbench
14 #MM- AROS-complete-amiga-m68k : general-setup-amiga-m68k kernel-amiga-m68k software-amiga-m68k contrib
16 #MM- general-setup-amiga-m68k: setup-amiga-m68k includes compiler
19 # Kernel modules
22 #MM- kernel-amiga-m68k : general-setup-amiga-m68k
24 #MM- kernel-amiga-m68k : \
25 #MM     kernel-kernel-kobj \
26 #MM     kernel-bootloader-amiga-m68k-kobj \
27 #MM     workbench-libs-partition-kobj \
28 #MM     kernel-fs-afs-kobj \
29 ##MM     kernel-cpu-amiga-m68k-kobj \
30 #MM     kernel-amiga-m68k-drivers \
31 #MM     kernel-contrib-necessary-amiga-m68k \
32 #MM     kernel-usb-amiga-m68k \
33 #MM     kernel-processor-kobj
35 #MM- kernel-contrib-necessary-amiga-m68k : contrib-necessary-amiga-m68k
37 #MM- includes-amiga-m68k : includes-common-i386 includes-copy-amiga-m68k includes-copy
39 FILES=start
40 AFILES=rom_entry rom_init
42 USELIBS := hiddgraphicsstubs hiddstubs amiga arossupport rom arosm autoinit libinit
43 #USELIBS := arossupport rom autoinit libinit
44 LIBS    := $(addprefix -l,$(USELIBS))
45 DEPLIBS := $(addprefix $(LIBDIR)/lib,$(addsuffix .a,$(USELIBS)))
47 KLIBS   := exec aros dos graphics utility oop \
48            intuition layers keymap # mathieeesingbas expansion workbench cybergraphics
50 KDEVS   := timer input keyboard console
51 KHNDLRS := con nil
52 KHIDDS  := hiddclass graphics
53 KRSRCS  := battclock kernel processor dosboot
55 KOBJS := $(addprefix $(KOBJSDIR)/,$(addsuffix _library.o ,$(KLIBS)  )) \
56         $(addprefix $(KOBJSDIR)/,$(addsuffix _device.o  ,$(KDEVS)  )) \
57         $(addprefix $(KOBJSDIR)/,$(addsuffix _handler.o ,$(KHNDLRS))) \
58         $(addprefix $(KOBJSDIR)/,$(addsuffix _hidd.o    ,$(KHIDDS) )) \
59         $(addprefix $(KOBJSDIR)/,$(addsuffix _resource.o,$(KRSRCS) )) \
60         $(addprefix $(KOBJSDIR)/,$(addsuffix _driver.o  ,$(KDRVRS) ))
62 OBJS := $(addprefix $(KOBJSDIR)/,$(addsuffix .o        ,$(AFILES))) \
63         $(addprefix $(KOBJSDIR)/,$(addsuffix .o        ,$(FILES)))
65 #MM kernel-link-amiga-m68k : setup-amiga-m68k
66 #MM kernel-link-amiga-m68k-quick: 
68 kernel-link-amiga-m68k : $(BINDIR)/aros-amiga-m68k.rom
70 kernel-link-amiga-m68k-quick : $(BINDIR)/aros-amiga-m68k.rom
72 $(HOSTGENDIR)/tools/romcheck: romcheck.c
73         $(Q)$(HOST_CC) -o $@ $<
75 $(BINDIR)/aros-amiga-m68k.elf : $(OBJS) $(KOBJS) $(DEPLIBS) $(SRCDIR)/$(CURDIR)/linkerscript
76         @$(ECHO) Linking $@...
77         $(Q)$(KERNEL_CC) -static \
78                 $(CFLAGS) \
79                 $(OBJS) $(KOBJS) -nostartfiles -nostdlib \
80                 -o $@ -Wl,-T -Wl,$(SRCDIR)/$(CURDIR)/linkerscript \
81                 -L$(LIBDIR) $(LIBS) -lgcc
83 $(BINDIR)/aros-amiga-m68k.rom : $(BINDIR)/aros-amiga-m68k.elf $(HOSTGENDIR)/tools/romcheck
84         $(Q)$(TARGET_OBJCOPY) \
85                 --output-target binary \
86                 --pad-to 0x01000000 \
87                 $< $@
88         $(Q)$(HOSTGENDIR)/tools/romcheck $@
90 #MM
91 clean ::
92         -$(RM) $(TESTS)
94 $(KOBJSDIR)/%.o : %.c
95         %compile_q cmd="$(KERNEL_CC)" opt="$(CFLAGS) -I$(BINDIR)/Development/include -I$(GENINCDIR) -I$(SRCDIR)/rom/exec -I$(SRCDIR)/rom/kernel"
97 $(KOBJSDIR)/%.o : %.S
98         %compile_q cmd="$(KERNEL_CC)" opt="$(CFLAGS) -I$(BINDIR)/Development/include -I$(GENINCDIR) -I$(SRCDIR)/rom/exec -I$(SRCDIR)/rom/kernel"
100 $(KOBJSDIR)/%.d : %.c
101         %mkdepend_q
103 DEPS            := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)
104 -include $(DEPS)