1
0
mirror of https://github.com/deadw00d/AROS.git synced 2026-01-12 00:09:02 +00:00
Files
AROS-v0/arch/i386-pc/boot/mmakefile.src
2000-03-06 10:16:42 +00:00

82 lines
2.0 KiB
Plaintext

# $Id$
include $(TOP)/config/make.cfg
AS86 := as86 -0 -a
LD86 := ld86 -0
OBJDIR := $(OSGENDIR)/boot
OS_INCLUDES := -I$(GENINCDIR)
CFLAGS2 := $(CFLAGS)
AFLAGS2 := $(AFLAGS) -I..
AFLAGS3 := $(AFLAGS2) -I.. $(OS_INCLUDES) -traditional
FILES := head
LIB := $(LIBDIR)/boot/header.a
LLINK := ld -r
BLINK := ld -e startup_32 -Ttext 0x1000 -Map aros.map
LINKLIBS := \
$(LIBDIR)/libamiga.a $(LIBDIR)/libarosc.a \
$(LIBDIR)/libarosm.a $(LIBDIR)/libarossupport.a
#MM
boot-native-i386 : setup $(OSGENDIR)/boot/bootsect $(OSGENDIR)/boot/setup \
header-native-i386 $(LIB)
@$(NOP)
#MM
header-native-i386: setup $(foreach f,$(FILES),$(OBJDIR)/$(f).o)
%add_objects $(foreach f,$(FILES),rom/boot/$(f))
#MM
clean ::
-$(RM) $(TESTS)
#MM
setup ::
%mkdirs_q $(OBJDIR) $(LIBDIR)/boot
$(LIB) : $(foreach f,$(FILES),$(OBJDIR)/$(f).o)
%mklib_q
$(OSGENDIR)/boot/bootsect : bootsect.S $(GENINCDIR)/aros/boot.h
%mkdirs_q $(OBJDIR)
$(CC) $(OS_INCLUDES) -E -traditional $< -o bootsect.s
$(AS86) -o bootsect.o bootsect.s
$(LD86) -s -o $@ bootsect.o
$(RM) bootsect.s bootsect.o
$(OSGENDIR)/boot/setup : setup.S video.S $(GENINCDIR)/aros/boot.h
%mkdirs_q $(OBJDIR)
$(CC) $(OS_INCLUDES) -E -traditional $< -o setup.s
$(AS86) -o setup.o setup.s
$(LD86) -s -o $@ setup.o
$(RM) setup.s setup.o
$(OBJDIR)/%.o : %.c
%add_objects
%compile_q opt=$(CFLAGS2)
$(OBJDIR)/%.o : %.s
%assemble_q opt=$(AFLAGS2)
$(OBJDIR)/%.o : %.S
%assemble_q opt=$(AFLAGS3)
$(OBJDIR)/%.d : %.c
%mkdepend_q
-include $(OSGENDIR)/boot/mf.inc
#MM kernel-link-native : setup
kernel-link-native : $(foreach f,$(ADDITIONAL_OBJS),$(OSGENDIR)/boot/$(f).o)
@$(LLINK) -o $(OSGENDIR)/boot/kernel.o \
$(foreach f,$(ADDITIONAL_OBJS),$(OSGENDIR)/boot/$(f).o) \
$(OSGENDIR)/graphics/graphics_driver.o \
$(OSGENDIR)/intuition/intuition_driver.o \
$(LINKLIBS)
@$(BLINK) -o $(OSGENDIR)/boot/kernel \
$(OSGENDIR)/boot/kernel.o $(LINKLIBS)
@objcopy -O binary $(OSGENDIR)/boot/kernel
$(OSGENDIR)/boot/%.o : $(LIBDIR)/%.a
@$(LLINK) --whole-archive $< -o $@
%common