diff --git a/src/Makefile b/src/Makefile index a5b38c8..cc37119 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,106 +1,19 @@ -# $Id: Makefile 148 2016-01-18 19:34:32Z reddawg $ # The System Makefile (C) 2002, 2017 The UbixOS Project .if ${.MAKEFLAGS:M${.CURDIR}/share/mk} == "" .MAKEFLAGS: -m ${.CURDIR}/share/mk .endif -MAKE=make +.include -CURDIR=${.CURDIR} +_SUBDIR=lib bin sys -OBJ_DIR?= ${CURDIR}/obj +.for dir in ${_SUBDIR} +.if (${BUILD_${dir}:Uyes} != "no" && exists(${dir}/Makefile)) +SUBDIR+= ${dir} +.endif +.endfor -CLEANDIR=clean - -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=${CURDIR}/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: - @cd sys;make - -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-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 build/bin/* ${ROOT}/bin/ - sync - @echo - @echo "***************************************************************" - @echo "Step 2: Copy Libraries" - @echo "***************************************************************" - cp -pr build/lib/* ${ROOT}/lib/ - cp -pr build/libexec/* ${ROOT}/libexec/ - 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;${MAKE} clean) - -install-kernel: - (cd sys;${MAKE} install-kernel) - -install: install-world install-kernel - -clean: - (cd sys;${MAKE} 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) +.include +.include +.include diff --git a/src/Makefile.incl b/src/Makefile.incl index dd6fd02..f0a9e86 100644 --- a/src/Makefile.incl +++ b/src/Makefile.incl @@ -14,6 +14,6 @@ _ARCH=i386 -#REMOVE = rm -rf +REMOVE = rm -rf #FD_DEVICE = /dev/md0 diff --git a/src/lib/csu/Makefile b/src/lib/csu/Makefile index d9b8772..7d1f627 100644 --- a/src/lib/csu/Makefile +++ b/src/lib/csu/Makefile @@ -1,37 +1,19 @@ -# $Id: Makefile 141 2016-01-17 02:05:18Z reddawg $ -# The System Makefile (C) 2002 The UbixOS Project +.include -# Include Global 'Source' Options -include ../../Makefile.incl -include ../Makefile.incl +CSU_MACHINE_ARCH?= ${MACHINE_ARCH} +CSU_MACHINE_CPU?= ${MACHINE_CPU} -CFLAGS = -m32 -nostdlib -nostdinc -fno-builtin -Wno-uninitialized -O2 -fno-strict-aliasing -pipe -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls #-DGCRT +.if !empty(CSU_MACHINE_ARCH:Mearm*) +ARCHDIR:= ${.CURDIR}/arch/earm +.elif exists(${.CURDIR}/arch/${CSU_MACHINE_ARCH}/Makefile.incl) +ARCHDIR:= ${.CURDIR}/arch/${CSU_MACHINE_ARCH} +.elif exists(${.CURDIR}/arch/${CSU_MACHINE_CPU}/Makefile.incl) +ARCHDIR:= ${.CURDIR}/arch/${CSU_MACHINE_CPU} +.else +.error Architecture (${CSU_MACHINE_ARCH} or ${CSU_MACHINE_CPU}) unsupported +.endif -INCLUDES+= -I../libc/include -# -I../../include.new -#Objects -OBJS = crtn.o crti.o crt1.o crtbrand.o - -all: $(OBJS) - -# Compile the source files -.cc.o: - $(CXX) $(CFLAGS) -Wall -nostdlib -O $(INCLUDES) -c -o $@ $< - -.cc.s: - $(CXX) $(CFLAGS) -Wall -nostdlib -O $(INCLUDES) -S -o $@ $< - -.c.o: - $(CC) $(CFLAGS) -Wall -nostdlib -O $(INCLUDES) -c $< - -.c.s: - $(CC) $(CFLAGS) -Wall -nostdlib -O $(INCLUDES) -S -o $@ $< - -.S.o: - $(CC) $(CFLAGS) -Wall -nostdlib -c -o $@ $< - -# Clean up the junk -clean: - $(REMOVE) $(OBJS) - +.PATH: ${ARCHDIR} +.include "${ARCHDIR}/Makefile.incl" +.include "${.CURDIR}/common/Makefile.incl"