X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=Makefile.cfg;h=1eedf8ec876cbaa7b9262f7b68b0c8d2c5a9f7dc;hp=e4ae222e07243aafe06d3a499d4c4f9d724f631f;hb=13078002b01ee4f63eb2001d2ef479a2a006ea32;hpb=872dbea3900b09c78092d3cdf035513f400bcfe8 diff --git a/Makefile.cfg b/Makefile.cfg index e4ae222e..1eedf8ec 100644 --- a/Makefile.cfg +++ b/Makefile.cfg @@ -2,38 +2,84 @@ # 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 +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 = i386 + ARCH := x86 endif +include $(ACESSDIR)/BuildConf/$(ARCH)/Makefile.cfg ifeq ($(ARCHDIR),) - ARCHDIR = x86 + 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 -FILESYSTEMS = -DRIVERS = -MODULES = Storage/ATA Storage/FDD -MODULES += Network/NE2000 -#MODULES += Display/BochsGA +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 += IPStack -DYNMODS = USB Interfaces/UDI +MODULES += Filesystems/NTFS +MODULES += Storage/LVM + +include $(ACESSDIR)/BuildConf/$(ARCH)/$(PLATFORM).mk -#DISTROOT = /mnt/AcessHDD/Acess2 -#DISTROOT = ~/Projects/Acess2/Filesystem -DISTROOT = a:/Acess2 -ACESSDIR = /home/tpg/Projects/Acess2 +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