More debugger and generated files for cmake and made a Makefile and fixed compile_commands.json

This commit is contained in:
Gregory Kenneth Bowne 2023-07-14 14:44:24 -07:00
parent d9d2e84f25
commit eb7b7ff201
28 changed files with 825 additions and 20 deletions

View File

@ -0,0 +1,4 @@
-std=c17
-Wall
-O2
-I/path/to/include

View File

@ -0,0 +1,32 @@
# Set the architecture
set architecture i386
# Set the disassembly flavor
set disassembly-flavor intel
# Set the prompt
set prompt (gdb)
# Set the history file
set history save on
set history filename ~/.gdb_history
set history size 1000
# Set the default file search path
set solib-search-path .
# Set the default directory
cd /path/to/project
# Set the default target
file kernel
# Set the symbol file
symbol-file kernel
# Set the debugging options
set disassemble-next-line on
set print pretty on
# Set breakpoints
break main

View File

@ -1,11 +1,6 @@
cmake_minimum_required(VERSION 3.13.4) cmake_minimum_required(VERSION 3.13.4)
project(ClassicOS) project(ClassicOS)
add_library(lib STATIC
src/lib/mylib.cpp
src/lib/mylib.h
)
add_executable(ClassicOS add_executable(ClassicOS
src/boot/boot.asm src/boot/boot.asm
src/kernel/kernel.c src/kernel/kernel.c

View File

@ -0,0 +1,37 @@
# Compiler and linker options
CC = gcc
CXX = g++
LD = ld
NASM = nasm
CFLAGS = -Wall -O2 -std=c17
CXXFLAGS = -Wall -O2 -std=c++20
LDFLAGS = -melf_i386
NASMFLAGS = -f elf32
# Target architecture
ARCH = i386
# Libraries
LIBS = -lm
# Source files
SRCS = $(wildcard *.c) $(wildcard *.cpp) $(wildcard *.asm)
OBJS = $(SRCS:.c=.o) $(SRCS:.cpp=.o) $(SRCS:.asm=.o)
# Targets
all: kernel
kernel: $(OBJS)
$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
%.o: %.asm
$(NASM) $(NASMFLAGS) -o $@ $<
clean:
rm -f $(OBJS) kernel

View File

@ -6,17 +6,18 @@ An x86 Operating System for 386, 486, Pentium class (P-75, 100, Pentium II, P3,
These are the versions I use, but please use the latest possible versions. These are the versions I use, but please use the latest possible versions.
- NASM version 2.14
NASM version 2.14 - QEMU x86_64
QEMU x86_64 - GNU ld (GNU Binutils for Debian) 2.31.1 or newer
GNU ld (GNU Binutils for Debian) 2.31.1 or newer - dd (coreutils) 8.30
dd (coreutils) 8.30
The C and C++ standards we are using for this are C17 and C++20 The C and C++ standards we are using for this are C17 and C++20
For C/C++: For C/C++:
clang version 7.0.1-8+deb10u2 (tags/RELEASE_701/final)
gcc version 8.3.0 (Debian 8.3.0-6) - clang version 7.0.1-8+deb10u2 (tags/RELEASE_701/final)
g++ version 8.3.0 (Debian 8.3.0-6) - gcc version 8.3.0 (Debian 8.3.0-6)
GNU gdb (Debian 8.2.1-2+b3) 8.2.1 - g++ version 8.3.0 (Debian 8.3.0-6)
lldb version 7.0.1 - GNU gdb (Debian 8.2.1-2+b3) 8.2.1
- lldb version 7.0.1

View File

@ -17,9 +17,8 @@
//Path to a program. //Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar CMAKE_AR:FILEPATH=/usr/bin/ar
//Choose the type of build, options are: None Debug Release RelWithDebInfo //No help, variable specified on the command line.
// MinSizeRel ... CMAKE_BUILD_TYPE:STRING=Debug
CMAKE_BUILD_TYPE:STRING=
//Enable/Disable color output during build. //Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON CMAKE_COLOR_MAKEFILE:BOOL=ON
@ -87,8 +86,8 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during RELWITHDEBINFO builds. //Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Enable/Disable output of compile commands during generation. //No help, variable specified on the command line.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
//Install path prefix, prepended onto install directories. //Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local CMAKE_INSTALL_PREFIX:PATH=/usr/local

View File

@ -0,0 +1,16 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

View File

@ -0,0 +1,30 @@
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c
stdint.h
-
stdbool.h
-
stddef.h
-
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c
screen.h
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.h
dos.h
-
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.h
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c
kernel.h
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.h
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.h

View File

@ -0,0 +1,22 @@
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"C"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_C
"/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c" "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o"
"/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c" "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o"
"/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c" "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o"
)
set(CMAKE_C_COMPILER_ID "Clang")
# The include file search paths:
set(CMAKE_C_TARGET_INCLUDE_PATH
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

View File

@ -0,0 +1,128 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build
# Include any dependencies generated for this target.
include CMakeFiles/ClassicOS.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/ClassicOS.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/ClassicOS.dir/flags.make
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o: CMakeFiles/ClassicOS.dir/flags.make
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o: ../src/kernel/kernel.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o -c /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.i"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c > CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.i
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.s"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c -o CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.s
CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o: CMakeFiles/ClassicOS.dir/flags.make
CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o: ../src/drivers/keyboard/keyboard.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o -c /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c
CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.i"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c > CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.i
CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.s"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c -o CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.s
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o: CMakeFiles/ClassicOS.dir/flags.make
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o: ../src/drivers/screen/screen.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o -c /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.i"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c > CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.i
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.s"
gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c -o CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.s
# Object files for target ClassicOS
ClassicOS_OBJECTS = \
"CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o" \
"CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o" \
"CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o"
# External object files for target ClassicOS
ClassicOS_EXTERNAL_OBJECTS =
ClassicOS: CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o
ClassicOS: CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o
ClassicOS: CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o
ClassicOS: CMakeFiles/ClassicOS.dir/build.make
ClassicOS: CMakeFiles/ClassicOS.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ClassicOS"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ClassicOS.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/ClassicOS.dir/build: ClassicOS
.PHONY : CMakeFiles/ClassicOS.dir/build
CMakeFiles/ClassicOS.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/ClassicOS.dir/cmake_clean.cmake
.PHONY : CMakeFiles/ClassicOS.dir/clean
CMakeFiles/ClassicOS.dir/depend:
cd /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/ClassicOS.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/ClassicOS.dir/depend

View File

@ -0,0 +1,12 @@
file(REMOVE_RECURSE
"CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o"
"CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o"
"CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o"
"ClassicOS.pdb"
"ClassicOS"
)
# Per-language clean rules from dependency scanning.
foreach(lang C)
include(CMakeFiles/ClassicOS.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

View File

@ -0,0 +1,11 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.h
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.h

View File

@ -0,0 +1,11 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o: ../src/drivers/keyboard/keyboard.c
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o: ../src/drivers/screen/screen.c
CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o: ../src/drivers/screen/screen.h
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o: ../src/kernel/kernel.c
CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o: ../src/kernel/kernel.h

View File

@ -0,0 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
# compile C with gcc
C_FLAGS = -g -g
C_DEFINES =
C_INCLUDES =

View File

@ -0,0 +1 @@
gcc -g -g -g -T /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/linker.ld CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o -o ClassicOS -llib -lpthread

View File

@ -0,0 +1,5 @@
CMAKE_PROGRESS_1 = 1
CMAKE_PROGRESS_2 = 2
CMAKE_PROGRESS_3 = 3
CMAKE_PROGRESS_4 = 4

View File

@ -0,0 +1,50 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"../CMakeLists.txt"
"CMakeFiles/3.13.4/CMakeCCompiler.cmake"
"CMakeFiles/3.13.4/CMakeCXXCompiler.cmake"
"CMakeFiles/3.13.4/CMakeSystem.cmake"
"/usr/share/cmake-3.13/Modules/CMakeCInformation.cmake"
"/usr/share/cmake-3.13/Modules/CMakeCXXInformation.cmake"
"/usr/share/cmake-3.13/Modules/CMakeCommonLanguageInclude.cmake"
"/usr/share/cmake-3.13/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake-3.13/Modules/CMakeInitializeConfigs.cmake"
"/usr/share/cmake-3.13/Modules/CMakeLanguageInformation.cmake"
"/usr/share/cmake-3.13/Modules/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake-3.13/Modules/CMakeSystemSpecificInitialize.cmake"
"/usr/share/cmake-3.13/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/usr/share/cmake-3.13/Modules/Compiler/Clang-C.cmake"
"/usr/share/cmake-3.13/Modules/Compiler/Clang-CXX.cmake"
"/usr/share/cmake-3.13/Modules/Compiler/Clang.cmake"
"/usr/share/cmake-3.13/Modules/Compiler/GNU.cmake"
"/usr/share/cmake-3.13/Modules/Platform/Linux-Clang-C.cmake"
"/usr/share/cmake-3.13/Modules/Platform/Linux-Clang-CXX.cmake"
"/usr/share/cmake-3.13/Modules/Platform/Linux-GNU-C.cmake"
"/usr/share/cmake-3.13/Modules/Platform/Linux-GNU-CXX.cmake"
"/usr/share/cmake-3.13/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake-3.13/Modules/Platform/Linux.cmake"
"/usr/share/cmake-3.13/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/ClassicOS.dir/DependInfo.cmake"
)

113
build/CMakeFiles/Makefile2 Normal file
View File

@ -0,0 +1,113 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# The main recursive all target
all:
.PHONY : all
# The main recursive preinstall target
preinstall:
.PHONY : preinstall
# The main recursive clean target
clean:
.PHONY : clean
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build
#=============================================================================
# Target rules for target CMakeFiles/ClassicOS.dir
# All Build rule for target.
CMakeFiles/ClassicOS.dir/all:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/depend
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles --progress-num=1,2,3,4 "Built target ClassicOS"
.PHONY : CMakeFiles/ClassicOS.dir/all
# Include target in all.
all: CMakeFiles/ClassicOS.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/ClassicOS.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles 4
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ClassicOS.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles 0
.PHONY : CMakeFiles/ClassicOS.dir/rule
# Convenience name for target.
ClassicOS: CMakeFiles/ClassicOS.dir/rule
.PHONY : ClassicOS
# clean rule for target.
CMakeFiles/ClassicOS.dir/clean:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/clean
.PHONY : CMakeFiles/ClassicOS.dir/clean
# clean rule for target.
clean: CMakeFiles/ClassicOS.dir/clean
.PHONY : clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@ -0,0 +1 @@
empty

View File

@ -0,0 +1 @@
empty

View File

@ -0,0 +1 @@
empty

View File

@ -0,0 +1 @@
4

View File

@ -0,0 +1,3 @@
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/rebuild_cache.dir
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/ClassicOS.dir
/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/edit_cache.dir

View File

@ -0,0 +1 @@
4

238
build/Makefile Normal file
View File

@ -0,0 +1,238 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.13
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named ClassicOS
# Build rule for target.
ClassicOS: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 ClassicOS
.PHONY : ClassicOS
# fast build rule for target.
ClassicOS/fast:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/build
.PHONY : ClassicOS/fast
src/drivers/keyboard/keyboard.o: src/drivers/keyboard/keyboard.c.o
.PHONY : src/drivers/keyboard/keyboard.o
# target to build an object file
src/drivers/keyboard/keyboard.c.o:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o
.PHONY : src/drivers/keyboard/keyboard.c.o
src/drivers/keyboard/keyboard.i: src/drivers/keyboard/keyboard.c.i
.PHONY : src/drivers/keyboard/keyboard.i
# target to preprocess a source file
src/drivers/keyboard/keyboard.c.i:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.i
.PHONY : src/drivers/keyboard/keyboard.c.i
src/drivers/keyboard/keyboard.s: src/drivers/keyboard/keyboard.c.s
.PHONY : src/drivers/keyboard/keyboard.s
# target to generate assembly for a file
src/drivers/keyboard/keyboard.c.s:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.s
.PHONY : src/drivers/keyboard/keyboard.c.s
src/drivers/screen/screen.o: src/drivers/screen/screen.c.o
.PHONY : src/drivers/screen/screen.o
# target to build an object file
src/drivers/screen/screen.c.o:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o
.PHONY : src/drivers/screen/screen.c.o
src/drivers/screen/screen.i: src/drivers/screen/screen.c.i
.PHONY : src/drivers/screen/screen.i
# target to preprocess a source file
src/drivers/screen/screen.c.i:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.i
.PHONY : src/drivers/screen/screen.c.i
src/drivers/screen/screen.s: src/drivers/screen/screen.c.s
.PHONY : src/drivers/screen/screen.s
# target to generate assembly for a file
src/drivers/screen/screen.c.s:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.s
.PHONY : src/drivers/screen/screen.c.s
src/kernel/kernel.o: src/kernel/kernel.c.o
.PHONY : src/kernel/kernel.o
# target to build an object file
src/kernel/kernel.c.o:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o
.PHONY : src/kernel/kernel.c.o
src/kernel/kernel.i: src/kernel/kernel.c.i
.PHONY : src/kernel/kernel.i
# target to preprocess a source file
src/kernel/kernel.c.i:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.i
.PHONY : src/kernel/kernel.c.i
src/kernel/kernel.s: src/kernel/kernel.c.s
.PHONY : src/kernel/kernel.s
# target to generate assembly for a file
src/kernel/kernel.c.s:
$(MAKE) -f CMakeFiles/ClassicOS.dir/build.make CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.s
.PHONY : src/kernel/kernel.c.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... rebuild_cache"
@echo "... ClassicOS"
@echo "... edit_cache"
@echo "... src/drivers/keyboard/keyboard.o"
@echo "... src/drivers/keyboard/keyboard.i"
@echo "... src/drivers/keyboard/keyboard.s"
@echo "... src/drivers/screen/screen.o"
@echo "... src/drivers/screen/screen.i"
@echo "... src/drivers/screen/screen.s"
@echo "... src/kernel/kernel.o"
@echo "... src/kernel/kernel.i"
@echo "... src/kernel/kernel.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

49
build/cmake_install.cmake Normal file
View File

@ -0,0 +1,49 @@
# Install script for directory: /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr/local")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else()
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()
# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else()
set(CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "1")
endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
if(CMAKE_INSTALL_COMPONENT)
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
else()
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
endif()
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
"${CMAKE_INSTALL_MANIFEST_FILES}")
file(WRITE "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build/${CMAKE_INSTALL_MANIFEST}"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")

View File

@ -0,0 +1,17 @@
[
{
"directory": "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build",
"command": "gcc -g -g -o CMakeFiles/ClassicOS.dir/src/kernel/kernel.c.o -c /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c",
"file": "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/kernel/kernel.c"
},
{
"directory": "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build",
"command": "gcc -g -g -o CMakeFiles/ClassicOS.dir/src/drivers/keyboard/keyboard.c.o -c /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c",
"file": "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/keyboard/keyboard.c"
},
{
"directory": "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/build",
"command": "gcc -g -g -o CMakeFiles/ClassicOS.dir/src/drivers/screen/screen.c.o -c /media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c",
"file": "/media/gbowne1/18656299-5992-400a-a7a4-b6ffc4b0612f/Documents/ClassicOS/src/drivers/screen/screen.c"
}
]

View File

@ -0,0 +1,16 @@
# Set the architecture
set architecture i386
# Set the target executable
file kernel
# Set the symbol file
symbol-file kernel
# Set the debugging options
set disassembly-flavor intel
set disassemble-next-line on
set print pretty on
# Set breakpoints
break main