Bläddra i källkod

Create build system.

Cixo Develop 11 månader sedan
förälder
incheckning
5d8c537fc0

+ 28 - 0
build-generic/make.sh

@@ -0,0 +1,28 @@
+#!/bin/bash
+
+CC=gcc
+CC_FLAGS="-O2"
+
+AR=ar
+AR_FLAGS="rcs"
+
+BUILD=$(dirname $(realpath $0))
+SOURCE=$BUILD/../sources
+HEADERS=$BUILD/../headers/cx/zivuos
+OUTPUT=libzivuos.a
+
+rm -f $BUILD/*.o
+rm -f $BUILD/*.a
+
+for count in $SOURCE/*.c; do
+    file_name=$(basename $count .c)
+    file_full_name=$file_name.c
+    output_name=$file_name.o
+
+    echo "Creating $file_full_name..."
+    $CC $CC_FLAGS $SOURCE/$file_full_name -c -o $BUILD/$output_name -I$HEADERS
+done
+
+echo ""
+echo "Making static library..."
+$AR $AR_FLAGS $BUILD/$OUTPUT $(ls $BUILD/*.o)

+ 6 - 0
headers/cx/zivuos/kernel.h

@@ -0,0 +1,6 @@
+#ifndef CX_ZIVUOS_KERNEL_H_INCLUDED
+#define CX_ZIVUOS_KERNEL_H_INCLUDED
+
+void kernel_init(void);
+
+#endif

+ 6 - 0
sources/kernel.c

@@ -0,0 +1,6 @@
+#include <stdio.h>
+#include "kernel.h"
+
+void kernel_init(void) {
+    puts("UwU");
+}

+ 24 - 0
tests/000-default/run.sh

@@ -0,0 +1,24 @@
+#!/bin/bash
+
+CC=gcc
+CC_FLAGS="-O2"
+
+OWN=$(dirname $(realpath $0))
+TEST_SOURCE=$OWN/testing.c
+TEST_OUTPUT=$OWN/testing
+HEADERS=$OWN/../../headers/cx
+LIBRARY=$OWN/../../build-generic
+LIBRARY_MAKE=$OWN/../../build-generic/make.sh
+
+rm -f $TEST_OUTPUT
+
+echo "Rebuilding..."
+$LIBRARY_MAKE
+
+echo ""
+echo "Build test..."
+$CC $CC_FLAGS $TEST_SOURCE -o $TEST_OUTPUT -I$HEADERS -L$LIBRARY -lzivuos 
+
+echo "Running..."
+echo ""
+$TEST_OUTPUT

BIN
tests/000-default/testing


+ 6 - 0
tests/000-default/testing.c

@@ -0,0 +1,6 @@
+#include <zivuos/kernel.h>
+
+int main() {
+    kernel_init();
+    return 0;
+}