Newer
Older
UbixOS / Makefile
# $Id: Makefile 148 2016-01-18 19:34:32Z reddawg $
# The System Makefile (C) 2002 The UbixOS Project

_ARCH?=  ${MACHINE_ARCH}

MAKE=make

OBJ_DIR?= ${CURDIR}/obj

CLEANDIR=clean

KERNEL_SRC=${CURDIR}/sys
KERNEL_OBJ=${OBJ_DIR}${KERNEL_SRC}
KERNEL_CONF=${KERNEL_SRC}/${_ARCH}/conf
KERNEL_NAME=kernel
KERNEL_FLAGS=_ARCH=${_ARCH} CC="cc" CXX="c++" AS="as" AR="ar" LD="ld" NM=nm OBJDUMP= OBJCOPY="objcopy" RANLIB=ranlib
KERNEL_INC=${KERNEL_SRC}/include


KMAKE= ${MAKE} ${KERNEL_FLAGS} INCLUDE=${KERNEL_INC} KERNEL=${KERNEL_NAME}

WORLD_LIB_SRC=${CURDIR}/lib
WORLD_BIN_SRC=${CURDIR}/bin
WORLD_INC=${CURDIR}/include.new
WORLD_FLAGS=_ARCH=${_ARCH} CC="cc" CXX="c++" AS="as" AR="ar" LD="ld" NM=nm  OBJDUMP= OBJCOPY="objcopy"  RANLIB=ranlib

WMAKE= ${MAKE} ${WORLD_FLAGS} INCLUDE=${WORLD_INC} BUILD_DIR=../build

TMP_PATH=${PATH}
ROOT=/ubixos

all: kernel world install-kernel install-world
# csu ubix_api libc_old libc ubix libcpp bin tools
# depend kernel tools

kernel:
	@echo
	@echo "***************************************************************"
	@echo "Kernel Build For ${_ARCH} Started On `LC_ALL=C date`"
	@echo "***************************************************************"
	@echo
	@echo "***************************************************************"
	@echo "Step 1: Clean Kernel"
	@echo "***************************************************************"
	#cd ${KERNEL_SRC}; ${KMAKE} ${CLEANDIR}
	@echo
	@echo "***************************************************************"
	@echo "Step 2: Build Kernel Objects"
	@echo "***************************************************************"
	cd ${KERNEL_SRC}; ${KMAKE} all
	@echo
	@echo "***************************************************************"
	@echo "Step 3: Link Kernel Objects"
	@echo "***************************************************************"
	cd ${KERNEL_SRC}; ${KMAKE} all
	@echo
	@echo "***************************************************************"
	@echo "Kernel Build For ${_ARCH} Completed On `LC_ALL=C date`"
	@echo "***************************************************************"

world:
	@echo
	@echo "***************************************************************"
	@echo "World Build For ${_ARCH} Started On `LC_ALL=C date`"
	@echo "***************************************************************"
	@echo
	@echo "***************************************************************"
	@echo "Step 1: Clean World"
	@echo "***************************************************************"
	#cd ${WORLD_LIB_SRC}; ${WMAKE} ${CLEANDIR}
	#cd ${WORLD_BIN_SRC}; ${WMAKE} ${CLEANDIR}
	@echo
	@echo "***************************************************************"
	@echo "Step 2: Build World Libraries"
	@echo "***************************************************************"
	cd ${WORLD_LIB_SRC}; ${WMAKE} all
	@echo
	@echo "***************************************************************"
	@echo "Step 3: Build World Binaries"
	@echo "***************************************************************"
	cd ${WORLD_BIN_SRC}; ${WMAKE} all
	@echo
	@echo "***************************************************************"
	@echo "World Build For ${_ARCH} Completed On `LC_ALL=C date`"
	@echo "***************************************************************"

install-kernel:
	@echo
	@echo "***************************************************************"
	@echo "Kernel Install For ${_ARCH} Started On `LC_ALL=C date`"
	@echo "***************************************************************"
	@echo
	@echo "***************************************************************"
	@echo "Step 1: Copy Kernel"
	@echo "***************************************************************"
	cp sys/compile/kernel ${ROOT}/boot/kernel/
	sync
	@echo
	@echo "***************************************************************"
	@echo "Kernel Install For ${_ARCH} Completed On `LC_ALL=C date`"
	@echo "***************************************************************"

install-world:
	@echo
	@echo "***************************************************************"
	@echo "World Install For ${_ARCH} Started On `LC_ALL=C date`"
	@echo "***************************************************************"
	@echo
	@echo "***************************************************************"
	@echo "Step 1: Copy Binaries"
	@echo "***************************************************************"
	cp -pr bin/build/* ${ROOT}/bin/
	sync
	@echo
	@echo "***************************************************************"
	@echo "Step 2: Copy Libraries"
	@echo "***************************************************************"
	cp -pr lib/build/* ${ROOT}/lib/
	sync
	@echo
	@echo "***************************************************************"
	@echo "Step 3: Copy Etc"
	@echo "***************************************************************"
	cp -pr etc/* ${ROOT}/etc/
	sync
	@echo
	@echo "***************************************************************"
	@echo "World Install For ${_ARCH} Completed On `LC_ALL=C date`"
	@echo "***************************************************************"

clean-kernel:
	(cd sys;${KMAKE} clean)

install: install-kernel install-world
	
clean:
	(cd sys;${KMAKE} clean)
	(cd bin;${WMAKE} clean)
	(cd lib;${WMAKE} clean)
#	(cd src/lib/ubix;make clean)
#	(cd src/lib/objgfx40;make clean)
#	(cd src/lib/libcpp;make clean)
#	(cd src/lib/views/sunlight;make clean)
#	(cd src/lib/libstdc++;make clean)