From 9836acd720988af30250c2c1ec18d618664dea4e Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Tue, 20 Oct 2009 19:21:34 +0200 Subject: Started working on a userland shell This means I'll have to do syscalls for everything I need. --- Source/Applications/Shell/Makefile | 31 +++++++++++++++++++++++++++++++ Source/Applications/Shell/main.cpp | 13 +++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 Source/Applications/Shell/Makefile create mode 100644 Source/Applications/Shell/main.cpp (limited to 'Source/Applications') diff --git a/Source/Applications/Shell/Makefile b/Source/Applications/Shell/Makefile new file mode 100644 index 0000000..205fc2f --- /dev/null +++ b/Source/Applications/Shell/Makefile @@ -0,0 +1,31 @@ +.PHONY: clean, mrproper + +CXX = g++ +CXXFLAGS = -nostartfiles -nostdlib -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND + +LD = ld +LDFLAGS = -T ../../Library/Link.ld + +Objects = main.o +OutFile = Shell + +all: $(OutFile) + echo "* Done with $(OutFile)." + +rebuild: mrproper all + +$(OutFile): $(Objects) + echo "* Linking $@.o..." + $(LD) $(LDFLAGS) ../../Library/Melon.o $^ -o $@ + +%.o: %.cpp + echo "* Compiling $<..." + $(CXX) $(CXXFLAGS) -c $< -o $@ + +clean: + echo "* Removing object files..." + rm -rf *.o + +mrproper: clean + echo "* Removing applications..." + rm -rf $(OutFile) diff --git a/Source/Applications/Shell/main.cpp b/Source/Applications/Shell/main.cpp new file mode 100644 index 0000000..fabf30c --- /dev/null +++ b/Source/Applications/Shell/main.cpp @@ -0,0 +1,13 @@ +#include +#include +#include + +int main() { + VirtualTerminal vt = VirtualTerminal::get(); + FSNode node = FSNode::getRoot(); + while (1) { + vt << node.getName() << " : "; + String s = vt.readLine(); + } + return 0; +} -- cgit v1.2.3