summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@simplelittledream.com>2021-10-10 19:24:20 -0400
committerJacob McDonnell <jacob@simplelittledream.com>2021-10-10 19:24:20 -0400
commit3d284b88f4682ebaffe3680fdb9d63c6ad4ec7e0 (patch)
treeff5e09cd1262e55d3bfc2af9a55d101f2223fe26
Initial Commit
-rw-r--r--.DS_Storebin0 -> 6148 bytes
-rw-r--r--.vscode/configurationCache.log1
-rw-r--r--.vscode/dryrun.log5
-rw-r--r--.vscode/settings.json3
-rw-r--r--.vscode/targets.log279
-rw-r--r--ProjectMustang.txt14
-rw-r--r--makefile20
-rw-r--r--src/.DS_Storebin0 -> 6148 bytes
-rw-r--r--src/cmd/.DS_Storebin0 -> 6148 bytes
-rw-r--r--src/cmd/coin/coin.c15
-rw-r--r--src/cmd/coin/makefile10
-rw-r--r--src/cmd/dice/dice.c15
-rw-r--r--src/cmd/dice/makefile10
-rw-r--r--src/cmd/echo/echo.c17
-rw-r--r--src/cmd/echo/makefile10
-rw-r--r--src/cmd/makefile9
-rw-r--r--src/makefile9
17 files changed, 417 insertions, 0 deletions
diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..1c7c9d9
--- /dev/null
+++ b/.DS_Store
Binary files differ
diff --git a/.vscode/configurationCache.log b/.vscode/configurationCache.log
new file mode 100644
index 0000000..c60bec6
--- /dev/null
+++ b/.vscode/configurationCache.log
@@ -0,0 +1 @@
+{"buildTargets":["all","clean","cmd/.","coin/.","dice/.","echo/.","install","src"],"launchTargets":["/Users/jmm/Documents/git/ProjectMustang/src/cmd/coin>coin()","/Users/jmm/Documents/git/ProjectMustang/src/cmd/dice>dice()","/Users/jmm/Documents/git/ProjectMustang/src/cmd/echo>echo()"],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":["/Users/jmm/Documents/git/ProjectMustang/src/cmd/coin","/Users/jmm/Documents/git/ProjectMustang/src/cmd/dice","/Users/jmm/Documents/git/ProjectMustang/src/cmd/echo"],"compilerArgs":["-o","echo","echo.c"]},"fileIndex":[["/Users/jmm/Documents/git/ProjectMustang/src/cmd/coin/coin.c",{"uri":{"$mid":1,"fsPath":"/Users/jmm/Documents/git/ProjectMustang/src/cmd/coin/coin.c","path":"/Users/jmm/Documents/git/ProjectMustang/src/cmd/coin/coin.c","scheme":"file"},"configuration":{"defines":[],"standard":"c11","includePath":[],"forcedInclude":[],"intelliSenseMode":"clang-x64","compilerPath":"/usr/bin/cc","compilerArgs":["-o","coin","coin.c"],"windowsSdkVersion":""}}],["/Users/jmm/Documents/git/ProjectMustang/src/cmd/dice/dice.c",{"uri":{"$mid":1,"fsPath":"/Users/jmm/Documents/git/ProjectMustang/src/cmd/dice/dice.c","path":"/Users/jmm/Documents/git/ProjectMustang/src/cmd/dice/dice.c","scheme":"file"},"configuration":{"defines":[],"standard":"c11","includePath":[],"forcedInclude":[],"intelliSenseMode":"clang-x64","compilerPath":"/usr/bin/cc","compilerArgs":["-o","dice","dice.c"],"windowsSdkVersion":""}}],["/Users/jmm/Documents/git/ProjectMustang/src/cmd/echo/echo.c",{"uri":{"$mid":1,"fsPath":"/Users/jmm/Documents/git/ProjectMustang/src/cmd/echo/echo.c","path":"/Users/jmm/Documents/git/ProjectMustang/src/cmd/echo/echo.c","scheme":"file"},"configuration":{"defines":[],"standard":"c11","includePath":[],"forcedInclude":[],"intelliSenseMode":"clang-x64","compilerPath":"/usr/bin/cc","compilerArgs":["-o","echo","echo.c"],"windowsSdkVersion":""}}]]}} \ No newline at end of file
diff --git a/.vscode/dryrun.log b/.vscode/dryrun.log
new file mode 100644
index 0000000..4edcbd5
--- /dev/null
+++ b/.vscode/dryrun.log
@@ -0,0 +1,5 @@
+make all -f "/Users/jmm/Documents/git/ProjectMustang/makefile" --dry-run --keep-going --print-directory
+make: Entering directory `/Users/jmm/Documents/git/ProjectMustang'
+make: Nothing to be done for `all'.
+make: Leaving directory `/Users/jmm/Documents/git/ProjectMustang'
+
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..65e1ec0
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "makefile.extensionOutputFolder": "./.vscode"
+} \ No newline at end of file
diff --git a/.vscode/targets.log b/.vscode/targets.log
new file mode 100644
index 0000000..1ccc479
--- /dev/null
+++ b/.vscode/targets.log
@@ -0,0 +1,279 @@
+make all -f "/Users/jmm/Documents/git/ProjectMustang/makefile" --print-data-base --no-builtin-variables --no-builtin-rules --question
+# GNU Make 3.81
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.
+# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# This program built for i386-apple-darwin11.3.0
+
+
+# Make data base, printed on Sun Oct 10 19:18:58 2021
+
+# Variables
+
+
+# automatic
+<D = $(patsubst %/,%,$(dir $<))
+# automatic
+?F = $(notdir $?)
+# environment
+VSCODE_LOG_NATIVE = false
+# automatic
+?D = $(patsubst %/,%,$(dir $?))
+# automatic
+@D = $(patsubst %/,%,$(dir $@))
+# automatic
+@F = $(notdir $@)
+# makefile
+CURDIR := /Users/jmm/Documents/git/ProjectMustang
+# makefile
+SHELL = /bin/sh
+# environment
+VSCODE_NLS_CONFIG = {"locale":"en-us","availableLanguages":{},"_languagePackSupport":true}
+# environment
+_ = /usr/bin/make
+# makefile (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 1)
+MAKEFILE_LIST := /Users/jmm/Documents/git/ProjectMustang/makefile
+# environment
+VSCODE_VERBOSE_LOGGING = true
+# environment
+__CFBundleIdentifier = com.visualstudio.code.oss
+# environment
+INFOPATH = /opt/homebrew/share/info:
+# environment
+PLAN9 = /opt/plan9port
+# environment
+VSCODE_IPC_HOOK_EXTHOST = /var/folders/qq/frtrjqf10vlcgdw8_fwlhm_c0000gn/T/vscode-ipc-02e54fef-6923-4e13-a59c-f729dc06389a.sock
+# environment
+VSCODE_CWD = /
+# environment
+PATH = /opt/ProjectMustang/bin:/Users/jmm/.local/bin:/opt/CEdev/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/opt/plan9port/bin
+# environment
+ZDOTDIR = /Users/jmm/.config/shells/zsh
+# environment
+VSCODE_LOG_STACK = false
+# environment
+ELECTRON_RUN_AS_NODE = 1
+# default
+.FEATURES := target-specific order-only second-expansion else-if archives jobserver check-symlink
+# environment
+SSH_AUTH_SOCK = /private/tmp/com.apple.launchd.C9Ivjs9yNA/Listeners
+# automatic
+%F = $(notdir $%)
+# makefile (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 1)
+(CC) = clang
+# environment
+DISPLAY = /private/tmp/com.apple.launchd.peroWlR96r/org.xquartz:0
+# automatic
+*F = $(notdir $*)
+# environment
+VSCODE_PIPE_LOGGING = true
+# environment
+PWD = /Users/jmm/Documents/git/ProjectMustang
+# environment
+HOMEBREW_CELLAR = /opt/homebrew/Cellar
+# environment
+ORIGINAL_XDG_CURRENT_DESKTOP = undefined
+# environment
+MANPATH = /opt/homebrew/share/man::
+# environment
+VSCODE_AMD_ENTRYPOINT = vs/workbench/services/extensions/node/extensionHostProcess
+# environment
+HOME = /Users/jmm
+# environment
+XDG_CACHE_HOME = /Users/jmm/.cache
+# default
+MAKEFILEPATH := /Applications/Xcode.app/Contents/Developer/Makefiles
+# environment
+VSCODE_CODE_CACHE_PATH = /Users/jmm/Library/Application Support/VSCodium/CachedData/ee8c7def80afc00dd6e593ef12f37756d8f504ea
+# environment
+LOGNAME = jmm
+# environment
+APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL = true
+# environment
+ZSH = /Users/jmm/.config/shells/zsh
+# environment
+VSCODE_HANDLES_UNCAUGHT_ERRORS = true
+# automatic
+^D = $(patsubst %/,%,$(dir $^))
+# environment
+ProMust = /opt/ProjectMustang
+# environment
+SHELLDIR = /Users/jmm/.config/shells
+# environment
+XPC_FLAGS = 0x0
+# default
+MAKE = $(MAKE_COMMAND)
+# default
+MAKECMDGOALS := all
+# environment
+SHLVL = 1
+# default
+MAKE_VERSION := 3.81
+# environment
+USER = jmm
+# makefile
+.DEFAULT_GOAL := src
+# automatic
+%D = $(patsubst %/,%,$(dir $%))
+# default
+MAKE_COMMAND := /Applications/Xcode.app/Contents/Developer/usr/bin/make
+# default
+.VARIABLES :=
+# environment
+TMPDIR = /var/folders/qq/frtrjqf10vlcgdw8_fwlhm_c0000gn/T/
+# environment
+CEDEV = /opt/CEdev
+# environment
+VSCODE_IPC_HOOK = /Users/jmm/Library/Application Support/VSCodium/1.61.0-main.sock
+# makefile
+MAKEFLAGS = Rrqp
+# environment
+MFLAGS = -Rrqp
+# automatic
+*D = $(patsubst %/,%,$(dir $*))
+# environment
+HOMEBREW_SHELLENV_PREFIX = /opt/homebrew
+# environment
+XPC_SERVICE_NAME = application.com.visualstudio.code.oss.19706844.19706849
+# environment
+HOMEBREW_PREFIX = /opt/homebrew
+# automatic
++D = $(patsubst %/,%,$(dir $+))
+# automatic
++F = $(notdir $+)
+# environment
+HOMEBREW_REPOSITORY = /opt/homebrew
+# environment
+__CF_USER_TEXT_ENCODING = 0x1F5:0x0:0x0
+# environment
+COMMAND_MODE = unix2003
+# default
+MAKEFILES :=
+# automatic
+<F = $(notdir $<)
+# environment
+XDG_CONFIG_HOME = /Users/jmm/.config
+# environment
+LC_ALL = C
+# environment
+LESSHISTFILE = -
+# automatic
+^F = $(notdir $^)
+# environment
+XDG_DATA_HOME = /Users/jmm/.local/share
+# default
+SUFFIXES :=
+# default
+.INCLUDE_DIRS = /usr/local/include
+# makefile (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 4)
+PROROOT := /Users/jmm/Documents/git/ProjectMustang
+# environment
+MAKELEVEL := 0
+# environment
+ENV = /Users/jmm/.config/shells/ksh/kshrc
+# makefile (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 3)
+SUBDIRS := src
+# environment
+LANG = C
+# environment
+VSCODE_PID = 70512
+# variable set hash-table stats:
+
+# Load=83/1024=8%, Rehash=0, Collisions=3/113=3%
+
+# Pattern-specific Variable Values
+
+# No pattern-specific variable values.
+
+# Directories
+
+
+# No files, no impossibilities in 0 directories.
+
+# Implicit Rules
+
+# No implicit rules.
+
+# Files
+
+all:
+# Phony target (prerequisite of .PHONY).
+# Command-line target.
+
+# Implicit rule search has not been done.
+# File does not exist.
+# File has been updated.
+# Successfully updated.
+
+.PHONY: install all clean src
+# Implicit rule search has not been done.
+# Modification time never checked.
+# File has not been updated.
+
+# Not a target:
+/Users/jmm/Documents/git/ProjectMustang/makefile:
+# Implicit rule search has been done.
+# Last modified 2021-10-10 19:11:05
+# File has been updated.
+# Successfully updated.
+# variable set hash-table stats:
+# Load=0/32=0%, Rehash=0, Collisions=0/0=0%
+
+# Not a target:
+.SUFFIXES:
+# Implicit rule search has not been done.
+# Modification time never checked.
+# File has not been updated.
+
+src:
+# Phony target (prerequisite of .PHONY).
+# Implicit rule search has not been done.
+# File does not exist.
+# File has not been updated.
+# commands to execute (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 9):
+ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+
+# Not a target:
+.DEFAULT:
+# Implicit rule search has not been done.
+# Modification time never checked.
+# File has not been updated.
+
+clean: src
+# Phony target (prerequisite of .PHONY).
+# Implicit rule search has not been done.
+# File does not exist.
+# File has not been updated.
+# commands to execute (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 18):
+ @rm $(wildcard build/bin/*)
+
+
+install:
+# Phony target (prerequisite of .PHONY).
+# Implicit rule search has not been done.
+# File does not exist.
+# File has not been updated.
+# commands to execute (from `/Users/jmm/Documents/git/ProjectMustang/makefile', line 14):
+ @rm -r /opt/ProjectMustang
+ @cp -r build/ /opt/ProjectMustang/
+
+
+# files hash-table stats:
+# Load=8/1024=1%, Rehash=0, Collisions=0/26=0%
+# VPATH Search Paths
+
+# No `vpath' search paths.
+
+# No general (`VPATH' variable) search path.
+
+# # of strings in strcache: 1
+# # of strcache buffers: 1
+# strcache size: total = 4096 / max = 4096 / min = 4096 / avg = 4096
+# strcache free: total = 4047 / max = 4047 / min = 4047 / avg = 4047
+
+# Finished Make data base on Sun Oct 10 19:18:58 2021
+
+
diff --git a/ProjectMustang.txt b/ProjectMustang.txt
new file mode 100644
index 0000000..0ba4eac
--- /dev/null
+++ b/ProjectMustang.txt
@@ -0,0 +1,14 @@
+Project Mustang
+===============
+
+Overview: A UNIX-like operating system with the graphical environment of a 90s operating system, written in C for the Raspberry PI 4.
+
+Features:
+ - Full desktop environment similar to windows 9x
+ - Programmer based environment with tools to make programming, and gui programming easier, like NeXTSTEP
+ - UNIX-like userland tools
+ - Networking
+ - Support for multiple programming languages like C, C++, GOLANG, and mabye Java
+
+Goals:
+ - Write userland programs \ No newline at end of file
diff --git a/makefile b/makefile
new file mode 100644
index 0000000..b35e42a
--- /dev/null
+++ b/makefile
@@ -0,0 +1,20 @@
+export (CC) = clang
+#TOPTARGETS := all
+SUBDIRS := src
+export PROROOT := ${CURDIR}
+
+#$(TOPTARGETS): $(SUBDIRS)
+
+$(SUBDIRS):
+ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+all: $(SUBRIRS)
+
+install:
+ @rm -r /opt/ProjectMustang
+ @cp -r build/ /opt/ProjectMustang/
+
+clean: $(SUBDIRS)
+ @rm $(wildcard build/bin/*)
+
+.PHONY: install all clean $(TOPTARGETS) $(SUBDIRS)
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 0000000..29f25d4
--- /dev/null
+++ b/src/.DS_Store
Binary files differ
diff --git a/src/cmd/.DS_Store b/src/cmd/.DS_Store
new file mode 100644
index 0000000..ddbc73c
--- /dev/null
+++ b/src/cmd/.DS_Store
Binary files differ
diff --git a/src/cmd/coin/coin.c b/src/cmd/coin/coin.c
new file mode 100644
index 0000000..09ca479
--- /dev/null
+++ b/src/cmd/coin/coin.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+int
+main (void)
+{
+ int c;
+ time_t t;
+ srand((unsigned) time(&t));
+
+ printf("%s\n", (rand() % 2) ? "Heads" : "Tails");
+
+ return 0;
+}
diff --git a/src/cmd/coin/makefile b/src/cmd/coin/makefile
new file mode 100644
index 0000000..cf8289d
--- /dev/null
+++ b/src/cmd/coin/makefile
@@ -0,0 +1,10 @@
+all: coin
+ @cp coin $(PROROOT)/build/bin/coin
+
+coin: coin.c
+ $(CC) -o coin coin.c
+
+clean:
+ @rm -r coin
+
+.PHONY: all clean \ No newline at end of file
diff --git a/src/cmd/dice/dice.c b/src/cmd/dice/dice.c
new file mode 100644
index 0000000..b31670f
--- /dev/null
+++ b/src/cmd/dice/dice.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+int
+main (void)
+{
+ int sides = 6;
+ time_t t;
+ srand((unsigned) time(&t));
+
+ printf("%d\n", (rand() % sides) + 1);
+
+ return 0;
+}
diff --git a/src/cmd/dice/makefile b/src/cmd/dice/makefile
new file mode 100644
index 0000000..5c0e384
--- /dev/null
+++ b/src/cmd/dice/makefile
@@ -0,0 +1,10 @@
+all: dice
+ @cp dice $(PROROOT)/build/bin/dice
+
+dice: dice.c
+ $(CC) -o dice dice.c
+
+clean:
+ @rm -r dice
+
+.PHONY: all clean \ No newline at end of file
diff --git a/src/cmd/echo/echo.c b/src/cmd/echo/echo.c
new file mode 100644
index 0000000..4733830
--- /dev/null
+++ b/src/cmd/echo/echo.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <string.h>
+
+int
+main (int argc, char *argv[])
+{
+ int i, nflag = 0;
+ argc--;
+
+ for (i = 1; i <= argc; i++) {
+ if (strcmp(argv[i], "-n") == 0)
+ nflag++;
+ else
+ printf("%s%c", argv[i], (i == argc) ? ((nflag == 1) ? '\0' : '\n') : ' ');
+ }
+ return 0;
+}
diff --git a/src/cmd/echo/makefile b/src/cmd/echo/makefile
new file mode 100644
index 0000000..0301f23
--- /dev/null
+++ b/src/cmd/echo/makefile
@@ -0,0 +1,10 @@
+all: echo
+ @cp echo $(PROROOT)/build/bin/echo
+
+echo: echo.c
+ $(CC) -o echo echo.c
+
+clean:
+ @rm -r echo
+
+.PHONY: all clean \ No newline at end of file
diff --git a/src/cmd/makefile b/src/cmd/makefile
new file mode 100644
index 0000000..52ddd59
--- /dev/null
+++ b/src/cmd/makefile
@@ -0,0 +1,9 @@
+TOPTARGETS := all clean install
+
+SUBDIRS := $(wildcard */.)
+
+$(TOPTARGETS): $(SUBDIRS)
+$(SUBDIRS):
+ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+.PHONY: $(TOPTARGETS) $(SUBDIRS) \ No newline at end of file
diff --git a/src/makefile b/src/makefile
new file mode 100644
index 0000000..52ddd59
--- /dev/null
+++ b/src/makefile
@@ -0,0 +1,9 @@
+TOPTARGETS := all clean install
+
+SUBDIRS := $(wildcard */.)
+
+$(TOPTARGETS): $(SUBDIRS)
+$(SUBDIRS):
+ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+.PHONY: $(TOPTARGETS) $(SUBDIRS) \ No newline at end of file