X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=Makefile.cfg;h=1eedf8ec876cbaa7b9262f7b68b0c8d2c5a9f7dc;hp=f6f00610ce11529315c23fb11a54891f3e182ec9;hb=13078002b01ee4f63eb2001d2ef479a2a006ea32;hpb=b6c3b3cf61caafbd91bbf3acc81995e472656a5b diff --git a/Makefile.cfg b/Makefile.cfg index f6f00610..1eedf8ec 100644 --- a/Makefile.cfg +++ b/Makefile.cfg @@ -2,21 +2,84 @@ # Acess2 Build Configuration # -CC = gcc -LD = ld -AS = nasm -OBJDUMP = objdump -RM = @rm -f -STRIP = strip -MKDIR = mkdir -RMDIR = rm -rf - -ARCH = i386 -ARCHDIR = x86 - -FILESYSTEMS = fat ext2 -DRIVERS = ata_x86 fdd -MODULES = ne2000 - -DISTROOT = /mnt/AcessHDD/Acess2 -ACESSDIR = /home/hodgeja/Projects/Acess2 +ACESSDIR := $(dir $(lastword $(MAKEFILE_LIST))) +ACESSDIR := $(shell cd $(ACESSDIR) && pwd) + +# Install destination configuration +DISTROOT := -i $(ACESSDIR)/Acess2.img ::/Acess2 +NCC := $(CC) +NCXX := $(CXX) +xCP := mcopy -D o +xMKDIR := mmd -D s + +-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)/BuildConf/$(ARCH)/Makefile.cfg +ifeq ($(ARCHDIR),) + ARCHDIR := x86 +endif + +# Default compilers +ifneq ($(ARCHDIR),native) +CC = $(COMPILERDIR)bin/$(TRIPLET)-gcc +CXX = $(COMPILERDIR)bin/$(TRIPLET)-g++ +LD = $(COMPILERDIR)bin/$(TRIPLET)-ld +OBJDUMP = $(COMPILERDIR)bin/$(TRIPLET)-objdump +endif + +ifneq ($(ARCH),host) + ifneq ($(ARCHDIR),$(ARCH)) + include $(ACESSDIR)/BuildConf/$(ARCHDIR)/Makefile.cfg + endif +endif + +COMPILERDIR := $(ACESSDIR)/Externals/Output/$(ARCHDIR)-BUILD/ +PATH := $(COMPILERDIR)bin/ $(PATH) + +ifeq ($(PLATFORM),) + PLATFORM := default +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 + +DRIVERS := +MODULES := + +MODULES += Filesystems/RAMDisk +MODULES += Filesystems/Ext2 +MODULES += Filesystems/FAT +MODULES += Filesystems/NTFS +MODULES += Storage/LVM + +include $(ACESSDIR)/BuildConf/$(ARCH)/$(PLATFORM).mk + +MODULES += Input/Keyboard Input/Mouse +MODULES += IPStack # So the other modules are loaded before it +#DYNMODS := USB/Core +#DYNMODS += Filesystems/InitRD + +# BUILD_DIST=y - Install to ./Dist +ifneq ($(BUILD_DIST),) + DISTROOT := $(ACESSDIR)/Dist + xCP := cp + xMKDIR := mkdir -p +endif