X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Makefile.cfg;h=3b1bfd5e7072abaee60dd302eb5559ff55737504;hb=e62ce4c06895976eeabd6f91803f5a4194ccc902;hp=3f06360fb9c7c3a74e3c0a96efda696ded4bf5ce;hpb=4f6ab5fa31fb60ddd8085783c8d21a48cab4c674;p=tpg%2Facess2.git diff --git a/Makefile.cfg b/Makefile.cfg index 3f06360f..3b1bfd5e 100644 --- a/Makefile.cfg +++ b/Makefile.cfg @@ -2,28 +2,82 @@ # Acess2 Build Configuration # -CC = gcc -LD = ld -AS = nasm -OBJDUMP = objdump -RM = @rm -f -STRIP = strip -MKDIR = mkdir -RMDIR = rm -rf -lCP = cp -xCP = mcopy -D o -xMKDIR = mmd -xRMDIR = mdeltree -xRM = mdel - -ARCH = i386 -ARCHDIR = x86 - -FILESYSTEMS = fat -DRIVERS = ata_x86 -MODULES = UDI FS_Ext2 FDD NE2000 BochsGA - -#DISTROOT = /mnt/AcessHDD/Acess2 -#DISTROOT = ~/Projects/Acess2/Filesystem -DISTROOT = a:/Acess2 -ACESSDIR = /home/tpg/Projects/Acess2 +# Install destination configuration +DISTROOT := a:/Acess2 +xCP := mcopy -D o +xMKDIR := mmd -D s + +ACESSDIR := $(dir $(lastword $(MAKEFILE_LIST))) +ACESSDIR := $(shell cd $(ACESSDIR) && pwd) + +-include $(ACESSDIR)/Makefile.Version.cfg + +# Default build programs +#CC := gcc +#LD := ld +AS := nasm +DISASM := objdump -d -S +RM := @rm -f +STRIP := strip +MKDIR := mkdir -p +RMDIR := rm -rf +lCP := cp +ASSUFFIX = asm + + +# Load Architecture settings +ifeq ($(ARCH),) + ARCH := x86 +endif +include $(ACESSDIR)/Makefile.$(ARCH).cfg +ifeq ($(ARCHDIR),) + ARCHDIR := x86 +endif +ifneq ($(ARCH),host) +include $(ACESSDIR)/Makefile.$(ARCHDIR).cfg +endif + +# Makefile.user.cfg is not part of the Acess git repo, +# It is for overriding the options in this file +-include $(ACESSDIR)/Makefile.user.cfg + +FILESYSTEMS := +DRIVERS := +MODULES := +MODULES += Filesystems/Ext2 +MODULES += Filesystems/FAT +MODULES += Filesystems/NTFS + +ifeq ($(ARCHDIR),x86) +MODULES += Storage/ATA +MODULES += Storage/FDDv2 +MODULES += Network/NE2000 Network/RTL8139 +MODULES += Display/VESA +MODULES += Display/BochsGA +#MODULES += Interfaces/UDI +MODULES += Input/PS2KbMouse +MODULES += x86/ISADMA x86/VGAText +MODULES += USB/Core +endif + +ifeq ($(ARCHDIR),x86_64) +MODULES += Storage/ATA +MODULES += Storage/FDDv2 +MODULES += Network/NE2000 Network/RTL8139 +MODULES += Display/BochsGA +MODULES += Interfaces/UDI +MODULES += Input/PS2KbMouse +MODULES += x86/ISADMA x86/VGAText +MODULES += USB/Core +endif + +ifeq ($(ARCHDIR),armv7) +MODULES += Input/PS2KbMouse +MODULES += armv7/GIC +MODULES += Filesystems/InitRD +MODULES += Display/PL110 +endif + +MODULES += IPStack # So the other modules are loaded before it +#DYNMODS := USB/Core +#DYNMODS += Filesystems/InitRD