X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Makefile.cfg;h=d12710cf90852936131825e5ad44055a786b681c;hb=6274aaa8894e14462a36c69090e2f9235f130e31;hp=d36dca54a595bfed59a9e84c6da2d8dcf899e4e4;hpb=dfe55553735a8cfa2b7207e5096caddded32c992;p=tpg%2Facess2.git diff --git a/Makefile.cfg b/Makefile.cfg index d36dca54..d12710cf 100644 --- a/Makefile.cfg +++ b/Makefile.cfg @@ -2,20 +2,23 @@ # Acess2 Build Configuration # -# Install destination configuration -DISTROOT := a:/Acess2 -xCP := mcopy -D o -xMKDIR := mmd -D s +V ?= @ 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 @@ -29,54 +32,58 @@ ASSUFFIX = asm ifeq ($(ARCH),) ARCH := x86 endif -include $(ACESSDIR)/Makefile.$(ARCH).cfg +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 + ifeq ($(AS),as) + AS = $(COMPILERDIR)bin/$(TRIPLET)-gcc -c + endif +endif + ifneq ($(ARCH),host) -include $(ACESSDIR)/Makefile.$(ARCHDIR).cfg + 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 -FILESYSTEMS := DRIVERS := MODULES := + +MODULES += Filesystems/RAMDisk MODULES += Filesystems/Ext2 MODULES += Filesystems/FAT MODULES += Filesystems/NTFS +MODULES += Storage/LVM -ifeq ($(ARCHDIR),x86) -MODULES += Storage/ATA -MODULES += Storage/FDDv2 -MODULES += Network/NE2000 Network/RTL8139 -MODULES += Display/VESA -MODULES += Display/BochsGA -MODULES += Input/PS2KbMouse -MODULES += x86/ISADMA x86/VGAText -MODULES += USB/Core USB/UHCI -#MODULES += Interfaces/UDI -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 -endif - -ifeq ($(ARCHDIR),armv7) -MODULES += Input/PS2KbMouse -MODULES += armv7/GIC -MODULES += Filesystems/InitRD -MODULES += Display/PL110 -endif +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