36 lines
1.1 KiB
Makefile
36 lines
1.1 KiB
Makefile
LI386_DIR:=linux-i386
|
|
LI386_OBJ:=$(OBJDIR)/$(LI386_DIR)
|
|
LI386_DEP=Makefile Makefile.conf $(LI386_DIR)/Makefile
|
|
|
|
$(LI386_OBJ)/mkelf-linux-i386.o: $(LI386_DIR)/mkelf-linux-i386.c $(LI386_DIR)/convert.bin.c $(LI386_DEP)
|
|
$(MKDIR) -p $(@D)
|
|
$(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@
|
|
|
|
|
|
ifdef I386_CC
|
|
|
|
$(LI386_DIR)/convert.bin.c: $(LI386_OBJ)/convert.bin $(OBJDIR)/bin/bin-to-hex $(LI386_DEP)
|
|
$(MKDIR) -p $(@D)
|
|
$(OBJDIR)/bin/bin-to-hex < $(LI386_OBJ)/convert.bin > $@
|
|
|
|
$(LI386_OBJ)/convert.bin: $(LI386_OBJ)/convert $(LI386_DEP)
|
|
$(MKDIR) -p $(@D)
|
|
$(I386_OBJCOPY) -O binary $< $@
|
|
|
|
CONVERT_LI386_OBJS=$(LI386_OBJ)/head.o $(LI386_OBJ)/convert_params.o
|
|
|
|
$(LI386_OBJ)/convert: $(LI386_DIR)/convert.lds $(CONVERT_LI386_OBJS) $(LI386_DEP)
|
|
$(MKDIR) -p $(@D)
|
|
$(I386_LD) $(I386_LDFLAGS) -T $(LI386_DIR)/convert.lds -o $@ $(CONVERT_LI386_OBJS)
|
|
|
|
$(LI386_OBJ)/head.o: $(LI386_DIR)/head.S $(LI386_DIR)/convert.h
|
|
$(MKDIR) -p $(@D)
|
|
$(I386_CPP) $(I386_CPPFLAGS) -DASSEMBLY $< | $(I386_AS) $(I386_ASFLAGS) -o $@
|
|
|
|
$(LI386_OBJ)/convert_params.o: $(LI386_DIR)/convert_params.c $(LI386_DIR)/convert.h $(LI386_DEP)
|
|
$(MKDIR) -p $(@D)
|
|
$(I386_CC) $(I386_CFLAGS) -c -o $@ $<
|
|
|
|
endif
|
|
|