mirror of
https://github.com/diamante0018/MonitorRam.git
synced 2025-05-09 22:14:54 +00:00
Refactor (#1)
This commit is contained in:
parent
2e5b226cff
commit
24496780d4
64
.github/workflows/build.yml
vendored
Normal file
64
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
types: [opened, synchronize, reopened]
|
||||
jobs:
|
||||
build-lin:
|
||||
name: Build Linux
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
configuration:
|
||||
- Debug
|
||||
- Release
|
||||
arch:
|
||||
- x86
|
||||
- x64
|
||||
include:
|
||||
- configuration: Debug
|
||||
config: debug
|
||||
- configuration: Release
|
||||
config: release
|
||||
steps:
|
||||
- name: Check out files
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
# NOTE - If LFS ever starts getting used during builds, switch this to true!
|
||||
lfs: false
|
||||
|
||||
- name: Install dependencies (x64)
|
||||
if: matrix.arch == 'x64'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install libcurl4-gnutls-dev
|
||||
- name: Install dependencies (x86)
|
||||
if: matrix.arch == 'x86'
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install gcc-multilib g++-multilib libcurl4-gnutls-dev:i386
|
||||
- name: Generate project files
|
||||
run: ./generate.sh
|
||||
|
||||
- name: Set up problem matching
|
||||
uses: ammaraskar/gcc-problem-matcher@master
|
||||
|
||||
- name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries
|
||||
run: |
|
||||
pushd build
|
||||
make config=${{matrix.config}}_${{matrix.arch}} -j$(nproc)
|
||||
- name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: Linux ${{matrix.configuration}} ${{matrix.arch}} binaries
|
||||
path: |
|
||||
build/bin/${{matrix.arch}}/${{matrix.configuration}}/MonitorRam
|
20
.github/workflows/clang-format-check.yml
vendored
Normal file
20
.github/workflows/clang-format-check.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
name: clang-format Check
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
types: [opened, synchronize, reopened]
|
||||
jobs:
|
||||
formatting-check:
|
||||
name: Formatting Check
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run clang-format style check for C/C++/Protobuf programs.
|
||||
uses: jidicula/clang-format-action@v4.9.0
|
||||
with:
|
||||
clang-format-version: '15'
|
||||
check-path: 'src'
|
2
generate.sh
Executable file
2
generate.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
./tools/premake5-linux gmake2
|
24
makefile
24
makefile
@ -1,24 +0,0 @@
|
||||
TARGET = monitor
|
||||
LIBS = -lm
|
||||
CC = gcc
|
||||
CFLAGS = -O2 -g -Wall -std=gnu11
|
||||
|
||||
.PHONY: clean all default
|
||||
|
||||
default: $(TARGET)
|
||||
all: default
|
||||
|
||||
OBJECTS = $(patsubst %.c, %.o, $(wildcard *.c))
|
||||
HEADERS = $(wildcard *.h)
|
||||
|
||||
%.o: %.c $(HEADERS)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
.PRECIOUS: $(TARGET) $(OBJECTS)
|
||||
|
||||
$(TARGET): $(OBJECTS)
|
||||
$(CC) $(OBJECTS) -Wall $(LIBS) -o $@
|
||||
|
||||
clean:
|
||||
-rm -f *.o
|
||||
-rm -f $(TARGET)
|
60
premake5.lua
Normal file
60
premake5.lua
Normal file
@ -0,0 +1,60 @@
|
||||
workspace "MonitorRam"
|
||||
startproject "MonitorRam"
|
||||
location "./build"
|
||||
objdir "%{wks.location}/obj"
|
||||
targetdir "%{wks.location}/bin/%{cfg.platform}/%{cfg.buildcfg}"
|
||||
|
||||
configurations {"Debug", "Release"}
|
||||
|
||||
platforms {"x86", "x64"}
|
||||
|
||||
filter "platforms:x86"
|
||||
architecture "x86"
|
||||
filter {}
|
||||
|
||||
filter "platforms:x64"
|
||||
architecture "x86_64"
|
||||
filter {}
|
||||
|
||||
buildoptions {"-std=gnu11"}
|
||||
|
||||
symbols "On"
|
||||
staticruntime "On"
|
||||
editandcontinue "Off"
|
||||
warnings "Extra"
|
||||
characterset "ASCII"
|
||||
|
||||
if os.istarget("linux") then
|
||||
buildoptions {"-pthread"}
|
||||
linkoptions {"-pthread"}
|
||||
end
|
||||
|
||||
if os.getenv("CI") then
|
||||
defines {"CI"}
|
||||
end
|
||||
|
||||
flags {"NoIncrementalLink", "NoMinimalRebuild", "MultiProcessorCompile", "No64BitChecks"}
|
||||
|
||||
filter "configurations:Release"
|
||||
optimize "Speed"
|
||||
defines {"NDEBUG"}
|
||||
flags {"FatalCompileWarnings"}
|
||||
filter {}
|
||||
|
||||
filter "configurations:Debug"
|
||||
optimize "Debug"
|
||||
defines {"DEBUG", "_DEBUG"}
|
||||
filter {}
|
||||
|
||||
project "MonitorRam"
|
||||
kind "ConsoleApp"
|
||||
language "C"
|
||||
|
||||
targetname "MonitorRam"
|
||||
|
||||
files {"./src/**.h", "./src/**.c"}
|
||||
|
||||
includedirs {"./src", "%{prj.location}/src"}
|
||||
|
||||
resincludedirs {"%{_MAIN_SCRIPT_DIR}/src"}
|
||||
|
@ -3,6 +3,6 @@
|
||||
|
||||
#define BUFFER_SIZE 4096
|
||||
|
||||
void get_time_stamp(char* buf);
|
||||
extern void get_time_stamp(char* buf);
|
||||
|
||||
#endif /* COMMON_H */
|
@ -7,7 +7,10 @@
|
||||
|
||||
volatile sig_atomic_t sigint_received = 0;
|
||||
|
||||
void sigint_handler(int a) { sigint_received = 1; }
|
||||
void sigint_handler(int a) {
|
||||
sigint_received = 1;
|
||||
(void)a;
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
if (argc < 2) {
|
@ -1,7 +1,7 @@
|
||||
#ifndef MONITOR_H
|
||||
#define MONITOR_H
|
||||
|
||||
int setup(const char* pid);
|
||||
int analyse();
|
||||
extern int setup(const char* pid);
|
||||
extern int analyse();
|
||||
|
||||
#endif /* MONITOR_H */
|
@ -1,6 +1,6 @@
|
||||
#ifndef UTILS_H
|
||||
#define UTILS_H
|
||||
|
||||
char* va(const char* fmt, ...);
|
||||
extern char* va(const char* fmt, ...);
|
||||
|
||||
#endif /* UTILS_H */
|
BIN
tools/premake5-linux
Executable file
BIN
tools/premake5-linux
Executable file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user