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
|
#define BUFFER_SIZE 4096
|
||||||
|
|
||||||
void get_time_stamp(char* buf);
|
extern void get_time_stamp(char* buf);
|
||||||
|
|
||||||
#endif /* COMMON_H */
|
#endif /* COMMON_H */
|
@ -7,7 +7,10 @@
|
|||||||
|
|
||||||
volatile sig_atomic_t sigint_received = 0;
|
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[]) {
|
int main(int argc, char* argv[]) {
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef MONITOR_H
|
#ifndef MONITOR_H
|
||||||
#define MONITOR_H
|
#define MONITOR_H
|
||||||
|
|
||||||
int setup(const char* pid);
|
extern int setup(const char* pid);
|
||||||
int analyse();
|
extern int analyse();
|
||||||
|
|
||||||
#endif /* MONITOR_H */
|
#endif /* MONITOR_H */
|
@ -1,6 +1,6 @@
|
|||||||
#ifndef UTILS_H
|
#ifndef UTILS_H
|
||||||
#define UTILS_H
|
#define UTILS_H
|
||||||
|
|
||||||
char* va(const char* fmt, ...);
|
extern char* va(const char* fmt, ...);
|
||||||
|
|
||||||
#endif /* UTILS_H */
|
#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