1
0
mirror of https://gitlab.os-k.eu/os-k-team/os-k.git synced 2023-08-25 14:03:10 +02:00

Compiling the cross-cc

This commit is contained in:
Adrien Bourmault 2020-09-29 15:15:12 +02:00
parent 33a614d8e2
commit 3ef8e95b43
No known key found for this signature in database
GPG Key ID: AFEE5788AEE3F4EC
3 changed files with 42 additions and 772 deletions

View File

@ -32,10 +32,12 @@
mode ?= debug mode ?= debug
ram ?= 4G ram ?= 4G
cpu ?= core2duo cpu ?= core2duo
compile-cross-cc ?= no
# Cross-cc # Cross-cc
CROSS-CC-DIR := $(shell pwd)/cross-cc CROSS-CC-DIR := $(shell pwd)/cross-cc
LATEST-CROSS-CC := https://gitlab.os-k.eu/os-k-team/cross-cc-builder/uploads/fcb43b0cc04c75ff89e40b4b24567484/cross-cc.tar.xz LATEST-CROSS-CC := https://gitlab.os-k.eu/os-k-team/cross-cc-builder/uploads/fcb43b0cc04c75ff89e40b4b24567484/cross-cc.tar.xz
LATEST-CROSS-CC-SOURCES := https://gitlab.os-k.eu/os-k-team/cross-cc-builder/-/archive/master/cross-cc-builder-master.tar
export PATH := $(CROSS-CC-DIR)/bin:$(PATH) export PATH := $(CROSS-CC-DIR)/bin:$(PATH)
NTHREADS := $(shell nproc) NTHREADS := $(shell nproc)
@ -144,11 +146,23 @@ DriverDep=$(patsubst %.c,$(KOBJDIR)/%.d,$(DriverSources))
## MISC MAKEFILE ------------------------------------------------------------- # ## MISC MAKEFILE ------------------------------------------------------------- #
ifeq ($(compile-cross-cc), no)
$(CROSS-CC-DIR)/bin/x86_64-elf-gcc: $(CROSS-CC-DIR)/bin/x86_64-elf-gcc:
@echo ${CL2}[$@] ${NC} Downloading and extracting the cross-compiler...${CL3} @echo ${CL2}[$@] ${NC} Downloading and extracting the cross-compiler...${CL3}
@wget $(LATEST-CROSS-CC) -O $(CROSS-CC-DIR).tar.xz -q -c --show-progress @wget $(LATEST-CROSS-CC) -O $(CROSS-CC-DIR).tar.xz -q -c --show-progress
@tar -xaf $(CROSS-CC-DIR).tar.xz --skip-old-files @tar -xaf $(CROSS-CC-DIR).tar.xz --skip-old-files
@echo ${CL2}[$@] ${CL}Success.${CL3} @echo ${CL2}[$@] ${CL}Success.${CL3}
endif
ifeq ($(compile-cross-cc), yes)
$(CROSS-CC-DIR)/bin/x86_64-elf-gcc:
@echo ${CL2}[$@] ${NC} Downloading and extracting the cross-compiler sources...${CL3}
@wget $(LATEST-CROSS-CC-SOURCES) -O $(CROSS-CC-DIR)-builder.tar -q -c --show-progress
@mkdir -p $(CROSS-CC-DIR)-builder
@tar -xvf $(CROSS-CC-DIR)-builder.tar --skip-old-files -C $(CROSS-CC-DIR)-builder --strip-components 1
cd $(CROSS-CC-DIR)-builder && make
@echo ${CL2}[$@] ${CL}Success.${CL3}
endif
./ProjectTree: ./.stylehlp_sh ./ProjectTree: ./.stylehlp_sh
@cat ./.stylehlp_sh > ./ProjectTree @cat ./.stylehlp_sh > ./ProjectTree

View File

@ -44,770 +44,12 @@
│   ├── create_disk.sh │   ├── create_disk.sh
│   ├── install-os-k.sh │   ├── install-os-k.sh
│   └── kernel.ld │   └── kernel.ld
├── cross-cc ├── cross-cc-builder-master
│   ├── include │   ├── LICENSE
│   ├── lib │   ├── Makefile
│   │   └── gcc │   ├── multilib.opt
│   │   └── x86_64-elf │   ├── patch-red-zone.diff
│   │   └── 10.1.0 │   └── README.md
│   │   ├── include
│   │   │   ├── adxintrin.h
│   │   │   ├── ammintrin.h
│   │   │   ├── avx2intrin.h
│   │   │   ├── avx5124fmapsintrin.h
│   │   │   ├── avx5124vnniwintrin.h
│   │   │   ├── avx512bf16intrin.h
│   │   │   ├── avx512bf16vlintrin.h
│   │   │   ├── avx512bitalgintrin.h
│   │   │   ├── avx512bwintrin.h
│   │   │   ├── avx512cdintrin.h
│   │   │   ├── avx512dqintrin.h
│   │   │   ├── avx512erintrin.h
│   │   │   ├── avx512fintrin.h
│   │   │   ├── avx512ifmaintrin.h
│   │   │   ├── avx512ifmavlintrin.h
│   │   │   ├── avx512pfintrin.h
│   │   │   ├── avx512vbmi2intrin.h
│   │   │   ├── avx512vbmi2vlintrin.h
│   │   │   ├── avx512vbmiintrin.h
│   │   │   ├── avx512vbmivlintrin.h
│   │   │   ├── avx512vlbwintrin.h
│   │   │   ├── avx512vldqintrin.h
│   │   │   ├── avx512vlintrin.h
│   │   │   ├── avx512vnniintrin.h
│   │   │   ├── avx512vnnivlintrin.h
│   │   │   ├── avx512vp2intersectintrin.h
│   │   │   ├── avx512vp2intersectvlintrin.h
│   │   │   ├── avx512vpopcntdqintrin.h
│   │   │   ├── avx512vpopcntdqvlintrin.h
│   │   │   ├── avxintrin.h
│   │   │   ├── bmi2intrin.h
│   │   │   ├── bmiintrin.h
│   │   │   ├── bmmintrin.h
│   │   │   ├── cet.h
│   │   │   ├── cetintrin.h
│   │   │   ├── cldemoteintrin.h
│   │   │   ├── clflushoptintrin.h
│   │   │   ├── clwbintrin.h
│   │   │   ├── clzerointrin.h
│   │   │   ├── cpuid.h
│   │   │   ├── cross-stdarg.h
│   │   │   ├── emmintrin.h
│   │   │   ├── enqcmdintrin.h
│   │   │   ├── f16cintrin.h
│   │   │   ├── float.h
│   │   │   ├── fma4intrin.h
│   │   │   ├── fmaintrin.h
│   │   │   ├── fxsrintrin.h
│   │   │   ├── gcov.h
│   │   │   ├── gfniintrin.h
│   │   │   ├── ia32intrin.h
│   │   │   ├── immintrin.h
│   │   │   ├── iso646.h
│   │   │   ├── lwpintrin.h
│   │   │   ├── lzcntintrin.h
│   │   │   ├── mm3dnow.h
│   │   │   ├── mmintrin.h
│   │   │   ├── mm_malloc.h
│   │   │   ├── movdirintrin.h
│   │   │   ├── mwaitxintrin.h
│   │   │   ├── nmmintrin.h
│   │   │   ├── pconfigintrin.h
│   │   │   ├── pkuintrin.h
│   │   │   ├── pmmintrin.h
│   │   │   ├── popcntintrin.h
│   │   │   ├── prfchwintrin.h
│   │   │   ├── rdseedintrin.h
│   │   │   ├── rtmintrin.h
│   │   │   ├── sgxintrin.h
│   │   │   ├── shaintrin.h
│   │   │   ├── smmintrin.h
│   │   │   ├── stdalign.h
│   │   │   ├── stdarg.h
│   │   │   ├── stdatomic.h
│   │   │   ├── stdbool.h
│   │   │   ├── stddef.h
│   │   │   ├── stdfix.h
│   │   │   ├── stdint-gcc.h
│   │   │   ├── stdint.h
│   │   │   ├── stdnoreturn.h
│   │   │   ├── tbmintrin.h
│   │   │   ├── tgmath.h
│   │   │   ├── tmmintrin.h
│   │   │   ├── unwind.h
│   │   │   ├── vaesintrin.h
│   │   │   ├── varargs.h
│   │   │   ├── vpclmulqdqintrin.h
│   │   │   ├── waitpkgintrin.h
│   │   │   ├── wbnoinvdintrin.h
│   │   │   ├── wmmintrin.h
│   │   │   ├── x86intrin.h
│   │   │   ├── xmmintrin.h
│   │   │   ├── xopintrin.h
│   │   │   ├── xsavecintrin.h
│   │   │   ├── xsaveintrin.h
│   │   │   ├── xsaveoptintrin.h
│   │   │   ├── xsavesintrin.h
│   │   │   └── xtestintrin.h
│   │   ├── include-fixed
│   │   │   ├── limits.h
│   │   │   ├── README
│   │   │   └── syslimits.h
│   │   ├── install-tools
│   │   │   ├── include
│   │   │   │   ├── limits.h
│   │   │   │   └── README
│   │   │   ├── fixinc_list
│   │   │   ├── gsyslimits.h
│   │   │   ├── macro_list
│   │   │   └── mkheaders.conf
│   │   ├── no-red-zone
│   │   │   ├── crtbegin.o
│   │   │   ├── crtend.o
│   │   │   ├── libgcc.a
│   │   │   └── libgcov.a
│   │   ├── plugin
│   │   │   ├── include
│   │   │   │   ├── ada
│   │   │   │   │   └── gcc-interface
│   │   │   │   │   └── ada-tree.def
│   │   │   │   ├── c-family
│   │   │   │   │   ├── c-common.def
│   │   │   │   │   ├── c-common.h
│   │   │   │   │   ├── c-objc.h
│   │   │   │   │   ├── c-pragma.h
│   │   │   │   │   └── c-pretty-print.h
│   │   │   │   ├── config
│   │   │   │   │   ├── i386
│   │   │   │   │   │   ├── att.h
│   │   │   │   │   │   ├── biarch64.h
│   │   │   │   │   │   ├── i386elf.h
│   │   │   │   │   │   ├── i386.h
│   │   │   │   │   │   ├── i386-opts.h
│   │   │   │   │   │   ├── i386-protos.h
│   │   │   │   │   │   ├── stringop.def
│   │   │   │   │   │   ├── unix.h
│   │   │   │   │   │   ├── x86-64.h
│   │   │   │   │   │   └── x86-tune.def
│   │   │   │   │   ├── dbxelf.h
│   │   │   │   │   ├── elfos.h
│   │   │   │   │   ├── initfini-array.h
│   │   │   │   │   ├── newlib-stdint.h
│   │   │   │   │   └── vxworks-dummy.h
│   │   │   │   ├── cp
│   │   │   │   │   ├── cp-tree.def
│   │   │   │   │   ├── cp-tree.h
│   │   │   │   │   ├── cxx-pretty-print.h
│   │   │   │   │   ├── name-lookup.h
│   │   │   │   │   ├── operators.def
│   │   │   │   │   └── type-utils.h
│   │   │   │   ├── d
│   │   │   │   │   └── d-tree.def
│   │   │   │   ├── objc
│   │   │   │   │   └── objc-tree.def
│   │   │   │   ├── addresses.h
│   │   │   │   ├── alias.h
│   │   │   │   ├── align.h
│   │   │   │   ├── alloc-pool.h
│   │   │   │   ├── all-tree.def
│   │   │   │   ├── ansidecl.h
│   │   │   │   ├── array-traits.h
│   │   │   │   ├── asan.h
│   │   │   │   ├── attribs.h
│   │   │   │   ├── auto-host.h
│   │   │   │   ├── auto-profile.h
│   │   │   │   ├── backend.h
│   │   │   │   ├── basic-block.h
│   │   │   │   ├── bb-reorder.h
│   │   │   │   ├── b-header-vars
│   │   │   │   ├── bitmap.h
│   │   │   │   ├── brig-builtins.def
│   │   │   │   ├── builtin-attrs.def
│   │   │   │   ├── builtins.def
│   │   │   │   ├── builtins.h
│   │   │   │   ├── builtin-types.def
│   │   │   │   ├── bversion.h
│   │   │   │   ├── calls.h
│   │   │   │   ├── ccmp.h
│   │   │   │   ├── cfganal.h
│   │   │   │   ├── cfgbuild.h
│   │   │   │   ├── cfgcleanup.h
│   │   │   │   ├── cfgexpand.h
│   │   │   │   ├── cfg-flags.def
│   │   │   │   ├── cfg.h
│   │   │   │   ├── cfghooks.h
│   │   │   │   ├── cfgloop.h
│   │   │   │   ├── cfgloopmanip.h
│   │   │   │   ├── cfgrtl.h
│   │   │   │   ├── cgraph.h
│   │   │   │   ├── cif-code.def
│   │   │   │   ├── collect2-aix.h
│   │   │   │   ├── collect2.h
│   │   │   │   ├── collect-utils.h
│   │   │   │   ├── color-macros.h
│   │   │   │   ├── conditions.h
│   │   │   │   ├── configargs.h
│   │   │   │   ├── config.h
│   │   │   │   ├── context.h
│   │   │   │   ├── convert.h
│   │   │   │   ├── coretypes.h
│   │   │   │   ├── coroutine-builtins.def
│   │   │   │   ├── coverage.h
│   │   │   │   ├── cppbuiltin.h
│   │   │   │   ├── cppdefault.h
│   │   │   │   ├── cpplib.h
│   │   │   │   ├── cselib.h
│   │   │   │   ├── c-tree.h
│   │   │   │   ├── data-streamer.h
│   │   │   │   ├── dbgcnt.def
│   │   │   │   ├── dbgcnt.h
│   │   │   │   ├── dbxout.h
│   │   │   │   ├── dce.h
│   │   │   │   ├── ddg.h
│   │   │   │   ├── debug.h
│   │   │   │   ├── defaults.h
│   │   │   │   ├── df.h
│   │   │   │   ├── dfp.h
│   │   │   │   ├── diagnostic-color.h
│   │   │   │   ├── diagnostic-core.h
│   │   │   │   ├── diagnostic.def
│   │   │   │   ├── diagnostic-event-id.h
│   │   │   │   ├── diagnostic.h
│   │   │   │   ├── diagnostic-metadata.h
│   │   │   │   ├── diagnostic-path.h
│   │   │   │   ├── diagnostic-url.h
│   │   │   │   ├── digraph.h
│   │   │   │   ├── dojump.h
│   │   │   │   ├── dominance.h
│   │   │   │   ├── domwalk.h
│   │   │   │   ├── double-int.h
│   │   │   │   ├── dump-context.h
│   │   │   │   ├── dumpfile.h
│   │   │   │   ├── dwarf2asm.h
│   │   │   │   ├── dwarf2out.h
│   │   │   │   ├── edit-context.h
│   │   │   │   ├── emit-rtl.h
│   │   │   │   ├── errors.h
│   │   │   │   ├── escaped_string.h
│   │   │   │   ├── et-forest.h
│   │   │   │   ├── except.h
│   │   │   │   ├── explow.h
│   │   │   │   ├── expmed.h
│   │   │   │   ├── expr.h
│   │   │   │   ├── fibonacci_heap.h
│   │   │   │   ├── file-find.h
│   │   │   │   ├── filenames.h
│   │   │   │   ├── file-prefix-map.h
│   │   │   │   ├── fixed-value.h
│   │   │   │   ├── flags.h
│   │   │   │   ├── flag-types.h
│   │   │   │   ├── fold-const-call.h
│   │   │   │   ├── fold-const.h
│   │   │   │   ├── function-abi.h
│   │   │   │   ├── function.h
│   │   │   │   ├── gcc.h
│   │   │   │   ├── gcc-plugin.h
│   │   │   │   ├── gcc-rich-location.h
│   │   │   │   ├── gcc-symtab.h
│   │   │   │   ├── gcov-counter.def
│   │   │   │   ├── gcov-io.h
│   │   │   │   ├── gcse-common.h
│   │   │   │   ├── gcse.h
│   │   │   │   ├── generic-match.h
│   │   │   │   ├── gengtype.h
│   │   │   │   ├── genrtl.h
│   │   │   │   ├── gensupport.h
│   │   │   │   ├── ggc.h
│   │   │   │   ├── ggc-internal.h
│   │   │   │   ├── gimple-builder.h
│   │   │   │   ├── gimple.def
│   │   │   │   ├── gimple-expr.h
│   │   │   │   ├── gimple-fold.h
│   │   │   │   ├── gimple.h
│   │   │   │   ├── gimple-iterator.h
│   │   │   │   ├── gimple-low.h
│   │   │   │   ├── gimple-match.h
│   │   │   │   ├── gimple-predict.h
│   │   │   │   ├── gimple-pretty-print.h
│   │   │   │   ├── gimple-ssa-evrp-analyze.h
│   │   │   │   ├── gimple-ssa.h
│   │   │   │   ├── gimple-ssa-warn-restrict.h
│   │   │   │   ├── gimple-streamer.h
│   │   │   │   ├── gimple-walk.h
│   │   │   │   ├── gimplify.h
│   │   │   │   ├── gimplify-me.h
│   │   │   │   ├── glimits.h
│   │   │   │   ├── graphds.h
│   │   │   │   ├── graph.h
│   │   │   │   ├── graphite.h
│   │   │   │   ├── graphviz.h
│   │   │   │   ├── gsstruct.def
│   │   │   │   ├── gstab.h
│   │   │   │   ├── gsyms.h
│   │   │   │   ├── gsyslimits.h
│   │   │   │   ├── gtm-builtins.def
│   │   │   │   ├── gtype-desc.h
│   │   │   │   ├── hard-reg-set.h
│   │   │   │   ├── hash-map.h
│   │   │   │   ├── hash-map-traits.h
│   │   │   │   ├── hash-set.h
│   │   │   │   ├── hashtab.h
│   │   │   │   ├── hash-table.h
│   │   │   │   ├── hash-traits.h
│   │   │   │   ├── highlev-plugin-common.h
│   │   │   │   ├── hooks.h
│   │   │   │   ├── hosthooks-def.h
│   │   │   │   ├── hosthooks.h
│   │   │   │   ├── hsa-brig-format.h
│   │   │   │   ├── hsa-builtins.def
│   │   │   │   ├── hsa-common.h
│   │   │   │   ├── hw-doloop.h
│   │   │   │   ├── hwint.h
│   │   │   │   ├── ifcvt.h
│   │   │   │   ├── inchash.h
│   │   │   │   ├── incpath.h
│   │   │   │   ├── input.h
│   │   │   │   ├── insn-addr.h
│   │   │   │   ├── insn-attr-common.h
│   │   │   │   ├── insn-attr.h
│   │   │   │   ├── insn-codes.h
│   │   │   │   ├── insn-constants.h
│   │   │   │   ├── insn-flags.h
│   │   │   │   ├── insn-modes.h
│   │   │   │   ├── insn-modes-inline.h
│   │   │   │   ├── insn-notes.def
│   │   │   │   ├── internal-fn.def
│   │   │   │   ├── internal-fn.h
│   │   │   │   ├── intl.h
│   │   │   │   ├── int-vector-builder.h
│   │   │   │   ├── ipa-fnsummary.h
│   │   │   │   ├── ipa-icf-gimple.h
│   │   │   │   ├── ipa-icf.h
│   │   │   │   ├── ipa-inline.h
│   │   │   │   ├── ipa-param-manipulation.h
│   │   │   │   ├── ipa-predicate.h
│   │   │   │   ├── ipa-prop.h
│   │   │   │   ├── ipa-reference.h
│   │   │   │   ├── ipa-ref.h
│   │   │   │   ├── ipa-utils.h
│   │   │   │   ├── ira.h
│   │   │   │   ├── ira-int.h
│   │   │   │   ├── is-a.h
│   │   │   │   ├── json.h
│   │   │   │   ├── langhooks-def.h
│   │   │   │   ├── langhooks.h
│   │   │   │   ├── lcm.h
│   │   │   │   ├── libfuncs.h
│   │   │   │   ├── libiberty.h
│   │   │   │   ├── limitx.h
│   │   │   │   ├── limity.h
│   │   │   │   ├── line-map.h
│   │   │   │   ├── loop-unroll.h
│   │   │   │   ├── lower-subreg.h
│   │   │   │   ├── lra.h
│   │   │   │   ├── lra-int.h
│   │   │   │   ├── lto-compress.h
│   │   │   │   ├── lto-section-names.h
│   │   │   │   ├── lto-streamer.h
│   │   │   │   ├── machmode.def
│   │   │   │   ├── machmode.h
│   │   │   │   ├── md5.h
│   │   │   │   ├── memmodel.h
│   │   │   │   ├── memory-block.h
│   │   │   │   ├── mem-stats.h
│   │   │   │   ├── mem-stats-traits.h
│   │   │   │   ├── mode-classes.def
│   │   │   │   ├── obstack.h
│   │   │   │   ├── omp-builtins.def
│   │   │   │   ├── omp-expand.h
│   │   │   │   ├── omp-general.h
│   │   │   │   ├── omp-grid.h
│   │   │   │   ├── omp-low.h
│   │   │   │   ├── omp-offload.h
│   │   │   │   ├── omp-simd-clone.h
│   │   │   │   ├── optabs.def
│   │   │   │   ├── optabs.h
│   │   │   │   ├── optabs-libfuncs.h
│   │   │   │   ├── optabs-query.h
│   │   │   │   ├── optabs-tree.h
│   │   │   │   ├── optinfo-emit-json.h
│   │   │   │   ├── optinfo.h
│   │   │   │   ├── options.h
│   │   │   │   ├── opt-problem.h
│   │   │   │   ├── opts-diagnostic.h
│   │   │   │   ├── opts.h
│   │   │   │   ├── opt-suggestions.h
│   │   │   │   ├── ordered-hash-map.h
│   │   │   │   ├── output.h
│   │   │   │   ├── passes.def
│   │   │   │   ├── pass-instances.def
│   │   │   │   ├── pass_manager.h
│   │   │   │   ├── plugin-api.h
│   │   │   │   ├── plugin.def
│   │   │   │   ├── plugin.h
│   │   │   │   ├── plugin-version.h
│   │   │   │   ├── poly-int.h
│   │   │   │   ├── poly-int-types.h
│   │   │   │   ├── predict.def
│   │   │   │   ├── predict.h
│   │   │   │   ├── prefix.h
│   │   │   │   ├── pretty-print.h
│   │   │   │   ├── print-rtl.h
│   │   │   │   ├── print-tree.h
│   │   │   │   ├── profile-count.h
│   │   │   │   ├── profile.h
│   │   │   │   ├── range.h
│   │   │   │   ├── range-op.h
│   │   │   │   ├── read-md.h
│   │   │   │   ├── read-rtl-function.h
│   │   │   │   ├── real.h
│   │   │   │   ├── realmpfr.h
│   │   │   │   ├── recog.h
│   │   │   │   ├── regcprop.h
│   │   │   │   ├── reg-notes.def
│   │   │   │   ├── regrename.h
│   │   │   │   ├── regset.h
│   │   │   │   ├── regs.h
│   │   │   │   ├── reload.h
│   │   │   │   ├── resource.h
│   │   │   │   ├── rtl.def
│   │   │   │   ├── rtl-error.h
│   │   │   │   ├── rtl.h
│   │   │   │   ├── rtlhash.h
│   │   │   │   ├── rtlhooks-def.h
│   │   │   │   ├── rtl-iter.h
│   │   │   │   ├── rtx-vector-builder.h
│   │   │   │   ├── run-rtl-passes.h
│   │   │   │   ├── safe-ctype.h
│   │   │   │   ├── sanitizer.def
│   │   │   │   ├── sbitmap.h
│   │   │   │   ├── sched-int.h
│   │   │   │   ├── selftest-diagnostic.h
│   │   │   │   ├── selftest.h
│   │   │   │   ├── selftest-rtl.h
│   │   │   │   ├── sel-sched-dump.h
│   │   │   │   ├── sel-sched.h
│   │   │   │   ├── sel-sched-ir.h
│   │   │   │   ├── sese.h
│   │   │   │   ├── shortest-paths.h
│   │   │   │   ├── shrink-wrap.h
│   │   │   │   ├── signop.h
│   │   │   │   ├── sparseset.h
│   │   │   │   ├── spellcheck.h
│   │   │   │   ├── spellcheck-tree.h
│   │   │   │   ├── splay-tree.h
│   │   │   │   ├── sreal.h
│   │   │   │   ├── ssa.h
│   │   │   │   ├── ssa-iterators.h
│   │   │   │   ├── stab.def
│   │   │   │   ├── statistics.h
│   │   │   │   ├── stmt.h
│   │   │   │   ├── stor-layout.h
│   │   │   │   ├── streamer-hooks.h
│   │   │   │   ├── stringpool.h
│   │   │   │   ├── substring-locations.h
│   │   │   │   ├── symbol-summary.h
│   │   │   │   ├── symtab.h
│   │   │   │   ├── sync-builtins.def
│   │   │   │   ├── system.h
│   │   │   │   ├── target.def
│   │   │   │   ├── target-def.h
│   │   │   │   ├── target-globals.h
│   │   │   │   ├── target.h
│   │   │   │   ├── target-hooks-macros.h
│   │   │   │   ├── target-insns.def
│   │   │   │   ├── targhooks.h
│   │   │   │   ├── timevar.def
│   │   │   │   ├── timevar.h
│   │   │   │   ├── tm.h
│   │   │   │   ├── tm_p.h
│   │   │   │   ├── tm-preds.h
│   │   │   │   ├── toplev.h
│   │   │   │   ├── tracer.h
│   │   │   │   ├── trans-mem.h
│   │   │   │   ├── tree-affine.h
│   │   │   │   ├── tree-cfgcleanup.h
│   │   │   │   ├── tree-cfg.h
│   │   │   │   ├── tree-check.h
│   │   │   │   ├── tree-chrec.h
│   │   │   │   ├── tree-core.h
│   │   │   │   ├── tree-data-ref.h
│   │   │   │   ├── tree.def
│   │   │   │   ├── tree-dfa.h
│   │   │   │   ├── tree-diagnostic.h
│   │   │   │   ├── tree-dump.h
│   │   │   │   ├── tree-eh.h
│   │   │   │   ├── tree.h
│   │   │   │   ├── tree-hasher.h
│   │   │   │   ├── tree-hash-traits.h
│   │   │   │   ├── tree-if-conv.h
│   │   │   │   ├── tree-inline.h
│   │   │   │   ├── tree-into-ssa.h
│   │   │   │   ├── tree-iterator.h
│   │   │   │   ├── tree-nested.h
│   │   │   │   ├── tree-object-size.h
│   │   │   │   ├── tree-outof-ssa.h
│   │   │   │   ├── tree-parloops.h
│   │   │   │   ├── tree-pass.h
│   │   │   │   ├── tree-phinodes.h
│   │   │   │   ├── tree-pretty-print.h
│   │   │   │   ├── tree-scalar-evolution.h
│   │   │   │   ├── tree-sra.h
│   │   │   │   ├── tree-ssa-address.h
│   │   │   │   ├── tree-ssa-alias.h
│   │   │   │   ├── tree-ssa-ccp.h
│   │   │   │   ├── tree-ssa-coalesce.h
│   │   │   │   ├── tree-ssa-dce.h
│   │   │   │   ├── tree-ssa-dom.h
│   │   │   │   ├── tree-ssa-dse.h
│   │   │   │   ├── tree-ssa.h
│   │   │   │   ├── tree-ssa-live.h
│   │   │   │   ├── tree-ssa-loop.h
│   │   │   │   ├── tree-ssa-loop-ivopts.h
│   │   │   │   ├── tree-ssa-loop-manip.h
│   │   │   │   ├── tree-ssa-loop-niter.h
│   │   │   │   ├── tree-ssanames.h
│   │   │   │   ├── tree-ssa-operands.h
│   │   │   │   ├── tree-ssa-propagate.h
│   │   │   │   ├── tree-ssa-sccvn.h
│   │   │   │   ├── tree-ssa-scopedtables.h
│   │   │   │   ├── tree-ssa-strlen.h
│   │   │   │   ├── tree-ssa-ter.h
│   │   │   │   ├── tree-ssa-threadedge.h
│   │   │   │   ├── tree-ssa-threadupdate.h
│   │   │   │   ├── tree-stdarg.h
│   │   │   │   ├── tree-streamer.h
│   │   │   │   ├── treestruct.def
│   │   │   │   ├── tree-switch-conversion.h
│   │   │   │   ├── tree-vector-builder.h
│   │   │   │   ├── tree-vectorizer.h
│   │   │   │   ├── tree-vrp.h
│   │   │   │   ├── tristate.h
│   │   │   │   ├── tsan.h
│   │   │   │   ├── tsystem.h
│   │   │   │   ├── typeclass.h
│   │   │   │   ├── typed-splay-tree.h
│   │   │   │   ├── ubsan.h
│   │   │   │   ├── valtrack.h
│   │   │   │   ├── value-prof.h
│   │   │   │   ├── value-range.h
│   │   │   │   ├── varasm.h
│   │   │   │   ├── vec.h
│   │   │   │   ├── vec-perm-indices.h
│   │   │   │   ├── vector-builder.h
│   │   │   │   ├── version.h
│   │   │   │   ├── vmsdbg.h
│   │   │   │   ├── vr-values.h
│   │   │   │   ├── vtable-verify.h
│   │   │   │   ├── wide-int-bitmask.h
│   │   │   │   ├── wide-int.h
│   │   │   │   ├── wide-int-print.h
│   │   │   │   ├── xcoff.h
│   │   │   │   └── xcoffout.h
│   │   │   └── gtype.state
│   │   ├── crtbegin.o
│   │   ├── crtend.o
│   │   ├── libgcc.a
│   │   └── libgcov.a
│   ├── libexec
│   │   └── gcc
│   │   └── x86_64-elf
│   │   └── 10.1.0
│   │   ├── install-tools
│   │   │   ├── fixincl
│   │   │   ├── fixinc.sh
│   │   │   ├── mkheaders
│   │   │   └── mkinstalldirs
│   │   ├── plugin
│   │   │   └── gengtype
│   │   ├── cc1
│   │   ├── cc1plus
│   │   ├── collect2
│   │   ├── liblto_plugin.la
│   │   ├── liblto_plugin.so -> liblto_plugin.so.0.0.0
│   │   ├── liblto_plugin.so.0 -> liblto_plugin.so.0.0.0
│   │   ├── liblto_plugin.so.0.0.0
│   │   ├── lto1
│   │   └── lto-wrapper
│   ├── share
│   │   ├── info
│   │   │   ├── as.info
│   │   │   ├── bfd.info
│   │   │   ├── binutils.info
│   │   │   ├── cpp.info
│   │   │   ├── cppinternals.info
│   │   │   ├── dir
│   │   │   ├── gcc.info
│   │   │   ├── gccinstall.info
│   │   │   ├── gccint.info
│   │   │   ├── gprof.info
│   │   │   └── ld.info
│   │   └── man
│   │   ├── man1
│   │   │   ├── x86_64-elf-addr2line.1
│   │   │   ├── x86_64-elf-ar.1
│   │   │   ├── x86_64-elf-as.1
│   │   │   ├── x86_64-elf-c++filt.1
│   │   │   ├── x86_64-elf-cpp.1
│   │   │   ├── x86_64-elf-dlltool.1
│   │   │   ├── x86_64-elf-elfedit.1
│   │   │   ├── x86_64-elf-g++.1
│   │   │   ├── x86_64-elf-gcc.1
│   │   │   ├── x86_64-elf-gcov.1
│   │   │   ├── x86_64-elf-gcov-dump.1
│   │   │   ├── x86_64-elf-gcov-tool.1
│   │   │   ├── x86_64-elf-gprof.1
│   │   │   ├── x86_64-elf-ld.1
│   │   │   ├── x86_64-elf-lto-dump.1
│   │   │   ├── x86_64-elf-nm.1
│   │   │   ├── x86_64-elf-objcopy.1
│   │   │   ├── x86_64-elf-objdump.1
│   │   │   ├── x86_64-elf-ranlib.1
│   │   │   ├── x86_64-elf-readelf.1
│   │   │   ├── x86_64-elf-size.1
│   │   │   ├── x86_64-elf-strings.1
│   │   │   ├── x86_64-elf-strip.1
│   │   │   ├── x86_64-elf-windmc.1
│   │   │   └── x86_64-elf-windres.1
│   │   └── man7
│   │   ├── fsf-funding.7
│   │   ├── gfdl.7
│   │   └── gpl.7
│   └── x86_64-elf
│   └── lib
│   └── ldscripts
│   ├── elf32_x86_64.x
│   ├── elf32_x86_64.xbn
│   ├── elf32_x86_64.xc
│   ├── elf32_x86_64.xce
│   ├── elf32_x86_64.xd
│   ├── elf32_x86_64.xdc
│   ├── elf32_x86_64.xdce
│   ├── elf32_x86_64.xde
│   ├── elf32_x86_64.xdw
│   ├── elf32_x86_64.xdwe
│   ├── elf32_x86_64.xe
│   ├── elf32_x86_64.xn
│   ├── elf32_x86_64.xr
│   ├── elf32_x86_64.xs
│   ├── elf32_x86_64.xsc
│   ├── elf32_x86_64.xsce
│   ├── elf32_x86_64.xse
│   ├── elf32_x86_64.xsw
│   ├── elf32_x86_64.xswe
│   ├── elf32_x86_64.xu
│   ├── elf32_x86_64.xw
│   ├── elf32_x86_64.xwe
│   ├── elf_i386.x
│   ├── elf_i386.xbn
│   ├── elf_i386.xc
│   ├── elf_i386.xce
│   ├── elf_i386.xd
│   ├── elf_i386.xdc
│   ├── elf_i386.xdce
│   ├── elf_i386.xde
│   ├── elf_i386.xdw
│   ├── elf_i386.xdwe
│   ├── elf_i386.xe
│   ├── elf_i386.xn
│   ├── elf_i386.xr
│   ├── elf_i386.xs
│   ├── elf_i386.xsc
│   ├── elf_i386.xsce
│   ├── elf_i386.xse
│   ├── elf_i386.xsw
│   ├── elf_i386.xswe
│   ├── elf_i386.xu
│   ├── elf_i386.xw
│   ├── elf_i386.xwe
│   ├── elf_iamcu.x
│   ├── elf_iamcu.xbn
│   ├── elf_iamcu.xc
│   ├── elf_iamcu.xce
│   ├── elf_iamcu.xd
│   ├── elf_iamcu.xdc
│   ├── elf_iamcu.xdce
│   ├── elf_iamcu.xde
│   ├── elf_iamcu.xdw
│   ├── elf_iamcu.xdwe
│   ├── elf_iamcu.xe
│   ├── elf_iamcu.xn
│   ├── elf_iamcu.xr
│   ├── elf_iamcu.xs
│   ├── elf_iamcu.xsc
│   ├── elf_iamcu.xsce
│   ├── elf_iamcu.xse
│   ├── elf_iamcu.xsw
│   ├── elf_iamcu.xswe
│   ├── elf_iamcu.xu
│   ├── elf_iamcu.xw
│   ├── elf_iamcu.xwe
│   ├── elf_k1om.x
│   ├── elf_k1om.xbn
│   ├── elf_k1om.xc
│   ├── elf_k1om.xce
│   ├── elf_k1om.xd
│   ├── elf_k1om.xdc
│   ├── elf_k1om.xdce
│   ├── elf_k1om.xde
│   ├── elf_k1om.xdw
│   ├── elf_k1om.xdwe
│   ├── elf_k1om.xe
│   ├── elf_k1om.xn
│   ├── elf_k1om.xr
│   ├── elf_k1om.xs
│   ├── elf_k1om.xsc
│   ├── elf_k1om.xsce
│   ├── elf_k1om.xse
│   ├── elf_k1om.xsw
│   ├── elf_k1om.xswe
│   ├── elf_k1om.xu
│   ├── elf_k1om.xw
│   ├── elf_k1om.xwe
│   ├── elf_l1om.x
│   ├── elf_l1om.xbn
│   ├── elf_l1om.xc
│   ├── elf_l1om.xce
│   ├── elf_l1om.xd
│   ├── elf_l1om.xdc
│   ├── elf_l1om.xdce
│   ├── elf_l1om.xde
│   ├── elf_l1om.xdw
│   ├── elf_l1om.xdwe
│   ├── elf_l1om.xe
│   ├── elf_l1om.xn
│   ├── elf_l1om.xr
│   ├── elf_l1om.xs
│   ├── elf_l1om.xsc
│   ├── elf_l1om.xsce
│   ├── elf_l1om.xse
│   ├── elf_l1om.xsw
│   ├── elf_l1om.xswe
│   ├── elf_l1om.xu
│   ├── elf_l1om.xw
│   ├── elf_l1om.xwe
│   ├── elf_x86_64.x
│   ├── elf_x86_64.xbn
│   ├── elf_x86_64.xc
│   ├── elf_x86_64.xce
│   ├── elf_x86_64.xd
│   ├── elf_x86_64.xdc
│   ├── elf_x86_64.xdce
│   ├── elf_x86_64.xde
│   ├── elf_x86_64.xdw
│   ├── elf_x86_64.xdwe
│   ├── elf_x86_64.xe
│   ├── elf_x86_64.xn
│   ├── elf_x86_64.xr
│   ├── elf_x86_64.xs
│   ├── elf_x86_64.xsc
│   ├── elf_x86_64.xsce
│   ├── elf_x86_64.xse
│   ├── elf_x86_64.xsw
│   ├── elf_x86_64.xswe
│   ├── elf_x86_64.xu
│   ├── elf_x86_64.xw
│   └── elf_x86_64.xwe
├── docs ├── docs
│   ├── boot │   ├── boot
│   │   ├── grub │   │   ├── grub
@ -939,9 +181,9 @@
├── AUTHORS ├── AUTHORS
├── ChangeLog ├── ChangeLog
├── COPYING ├── COPYING
├── cross-cc.tar.xz ├── cross-cc.tar
├── Makefile ├── Makefile
├── ProjectTree ├── ProjectTree
└── README.md └── README.md
74 directories, 845 files 40 directories, 121 files

View File

@ -16,14 +16,15 @@ tabulation being 4 spaces long.
#### Compile from sources #### Compile from sources
To compile this project from sources, you must first install the dependencies To compile this project from sources, you must first install the dependencies :
``` ```
apt update && apt upgrade sudo apt update && apt upgrade
apt install grub-pc-bin dosfstools make nasm qemu tree parted udisks2 apt install grub-pc-bin dosfstools make nasm qemu tree parted udisks2
``` ```
To compile, simply use at the root of this project : To compile, simply use at the root of this project :
``` ```
make make
``` ```
@ -31,12 +32,25 @@ make
The OS/K cross-compiler will automatically be installed. The OS/K cross-compiler will automatically be installed.
To compile and test, simply use at the root of this project : To compile and test, simply use at the root of this project :
``` ```
make test make test
``` ```
#### Compile the cross-compiler from sources
To compile the cross-compiler from sources, you must first install the dependencies :
```
sudo apt install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo
```
Then use the `compile-cross-cc` option :
```
make compile-cross-cc=yes
```
Note : Depending on your connection, it may take some time to download the GCC and Binutils sources. In addition, compiling may require a lot of resources.
#### Screenshot #### Screenshot
![OS/K Started](https://www.os-k.eu/images/screen44.png) ![OS/K Started](https://wiki.osdev.org/File:OS-on-kaleid.png)