Changeset 4872160 in mainline for boot/Makefile


Ignore:
Timestamp:
2010-05-04T10:44:55Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
568db0f
Parents:
bb252ca
Message:

new boot infrastructure

  • more code and metadata unification
  • import of up-to-date implementations from the kernel
  • the boot loaders should behave more similarly on all platforms
  • support for deflate compressed (LZ77) boot components
    • this again allows feasible boot images to be created on mips32
  • IA64 is still not booting
    • the broken forked GNU EFI library has been removed, a replacement of the functionality is on its way
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/Makefile

    rbb252ca r4872160  
    2727#
    2828
    29 ## Include configuration
    30 #
     29.PHONY: all build_dist build_comps clean_dist clean
    3130
    32 -include ../Makefile.common
    33 -include ../Makefile.config
     31include Makefile.common
    3432
    35 ## Paths
    36 #
     33all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(PREBUILD)
     34        $(MAKE) -f $(BUILD) PRECHECK=$(PRECHECK)
     35ifneq ($(POSTBUILD),)
     36        $(MAKE) -f $(POSTBUILD) PRECHECK=$(PRECHECK)
     37endif
    3738
    38 BASE = ..
    39 KERNELDIR = $(BASE)/kernel
    40 USPACEDIR = $(BASE)/uspace
     39build_comps: $(COMPONENTS) $(LINK).in
     40        $(PACK) $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) arch/$(KARCH) $(COMPONENTS)
    4141
    42 .PHONY: all build clean generic_clean
     42$(INITRD).img: $(INITRD).fs
     43        $(MKHORD) $(PAGE_SIZE) $< $@
    4344
    44 all: ../Makefile.common ../Makefile.config ../config.h build
     45$(INITRD).fs: build_dist
     46ifeq ($(RDFMT),tmpfs)
     47        $(MKTMPFS) $(DIST_PATH) $@
     48endif
     49ifeq ($(RDFMT),fat)
     50        $(MKFAT) $(DIST_PATH) $@
     51endif
    4552
    46 -include arch/$(BARCH)/Makefile.inc
     53build_dist: clean_dist
     54        for file in $(RD_SRVS) ; do \
     55                cp "$$file" "$(DIST_PATH)/srv/" ; \
     56        done
     57        for file in $(RD_APPS) ; do \
     58                cp "$$file" "$(DIST_PATH)/app/" ; \
     59        done
     60        for file in $(NET_CFG) ; do \
     61                cp "$$file" "$(DIST_PATH)/cfg/net/" ; \
     62        done
    4763
    48 generic_clean:
    49         rm -f generic/*.o genarch/*.o
     64clean: clean_dist
     65        $(MAKE) -f $(BUILD) clean PRECHECK=$(PRECHECK)
     66ifneq ($(POSTBUILD),)
     67        $(MAKE) -f $(POSTBUILD) clean PRECHECK=$(PRECHECK)
     68endif
     69        rm -fr $(SANDBOX)
     70        rm -f $(POST_OUTPUT) $(BOOT_OUTPUT) $(DEPEND) $(DEPEND_PREV) arch/*/include/common.h
     71        find generic/src/ arch/*/src/ genarch/src/ -name '*.o' -follow -exec rm \{\} \;
     72
     73clean_dist:
     74        rm -f $(INITRD).fs $(INITRD).img $(COMPS_H) $(COMPS_C) $(LINK) *.co
     75        rm -f $(USPACE_PATH)/dist/srv/*
     76        rm -f $(USPACE_PATH)/dist/app/*
     77        rm -f $(USPACE_PATH)/dist/cfg/net/*
Note: See TracChangeset for help on using the changeset viewer.