# Init Makefile
#
# Author: Guto

include $(EPOS)/makedefs

all: init init_guest.o

init: init.o io_bus.o $(SRC)/system/system 
	$(LD) $(LD_FLAGS) -N -Ttext $(INIT_ADDR) -R$(SRC)/system/system \
	-o init io_bus.o init.o -lsystem_init -lsystem_data -lepos

init.o: init.cc
	$(CCC) $(CCC_FLAGS) -Wno-unused init.cc

io_bus.o: io_bus.c
	$(CC) $(CC_FLAGS) io_bus.c

init_guest.o: init_guest.cc FORCE
	$(CCC) $(CCC_FLAGS) init_guest.cc
	$(LD) $(LD_FLAGS) -r init_guest.o -o init_guest.tmp \
	-lsystem_init -lsystem -lsystem_data
	mv init_guest.tmp init_guest.o

install: all
	$(INSTALL) init $(IMG)
	$(INSTALL) init_guest.o $(LIB)

print:
	$(PRINT1) $(INCLUDE)/system/initializer.h \
	init_guest.cc init.cc io_bus.c $(PRINT2)

clean:
	$(CLEAN) *.o init

FORCE:
