Update Makefile and create src folder

This commit is contained in:
Santiago Lo Coco 2021-11-09 23:50:10 -03:00
parent 4b0cff4e85
commit ee260a610d
14 changed files with 95 additions and 105 deletions

View File

@ -1,26 +1,19 @@
CC = gcc
CCFLAGS = -Wall -std=c99 -pedantic -g
OBJECTS = master.o error.o slave.o shr_mem.o view.o siglib.o solve view
OBJECTS = solve view slave.o
SOLVE_SRC = src/master.c src/error.c src/shr_mem.c src/siglib.c
VIEW_SRC = src/view.c src/error.c src/shr_mem.c src/siglib.c
SLAVE_SRC = src/slave.c src/error.c
all: $(OBJECTS)
master.o: master.c error.h
$(CC) $(CCFLAGS) -c master.c
error.o: error.c error.h
$(CC) $(CCFLAGS) -c error.c
slave.o: slave.c error.o
$(CC) $(CCFLAGS) slave.c -o slave.o error.o
shr_mem.o: shr_mem.c error.h
$(CC) $(CCFLAGS) -c shr_mem.c
view.o: view.c
$(CC) $(CCFLAGS) -c view.c
siglib.o: siglib.c
$(CC) $(CCFLAGS) -c siglib.c
solve: master.o error.o shr_mem.o siglib.o
$(CC) $(CCFLAGS) -o solve master.o error.o shr_mem.o siglib.o -lm -lrt -lpthread
view: view.o error.o shr_mem.o siglib.o
$(CC) $(CCFLAGS) -o view view.o error.o shr_mem.o siglib.o -lrt -lpthread
solve: $(SOLVE_SRC)
$(CC) $(CCFLAGS) -o solve $(SOLVE_SRC) -lm -lrt -lpthread
view: $(VIEW_SRC)
$(CC) $(CCFLAGS) -o view $(VIEW_SRC) -lrt -lpthread
slave.o: $(SLAVE_SRC)
$(CC) $(CCFLAGS) -o slave.o $(SLAVE_SRC)
clean:
rm -rf $(OBJECTS)

View File

@ -1,6 +1,9 @@
#ifndef ERRORS_H
#define ERRORS_H
#include <stdio.h>
#include <stdlib.h>
void printError(char * string);
void printSystemError(char * string);

View File

@ -1,6 +1,21 @@
#ifndef MASTER_H
#define MASTER_H
#define _SVID_SOURCE 1
#define _XOPEN_SOURCE 500
#define _POSIX_C_SOURCE 200112L
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/select.h>
#include "error.h"
#include "shr_mem.h"
#include <math.h>
#include "siglib.h"
#define MAX_SLAVES 500
#define MAX_SIZE 300
#define MAX_PATH_SIZE 100

View File

@ -1,6 +1,19 @@
#ifndef SHR_MEM
#define SHR_MEM
#define _SVID_SOURCE 1
#define _POSIX_C_SOURCE 200112L
#include <sys/shm.h>
#include <semaphore.h>
#include <fcntl.h>
#include <string.h>
#include "error.h"
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#define SHM_NAME "/BottlerSHM"
#define SEM_EMPTY_NAME "/EmptySEM"
#define SEM_OPEN_NAME "/OpenSEM"

View File

@ -1,6 +1,12 @@
#ifndef SIGLIB_H
#define SIGLIB_H
#define _POSIX_C_SOURCE 200112L
#include <signal.h>
#include "error.h"
#include <unistd.h>
#define SIGSTART SIGUSR1
#define SIGEND SIGUSR2

View File

@ -1,6 +1,15 @@
#ifndef SLAVE_H
#define SLAVE_H
#define _POSIX_C_SOURCE 200112L
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
#include "error.h"
#define MAX_SIZE 300
#define COMMAND_MAX_SIZE 400

21
include/view.h Normal file
View File

@ -0,0 +1,21 @@
#ifndef VIEW_H
#define VIEW_H
#define _SVID_SOURCE 1
#define _XOPEN_SOURCE 500
#define _POSIX_C_SOURCE 200112L
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "error.h"
#include "shr_mem.h"
#include "siglib.h"
#define MAX_SIZE 300
#define MAX_AMOUNT_SIZE 10
#define MAX_PID_SIZE 10
#define MAX_PATH_SIZE 100
#define MAX_OUTPUT_SIZE (200 + MAX_PATH_SIZE)
#endif

View File

@ -1,9 +1,6 @@
/*
This is a personal academic project. Dear PVS-Studio, please check it.
PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
#include <stdio.h>
#include <stdlib.h>
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "../include/error.h"
void printError(char * string) {
fprintf(stderr, "%s", string);

View File

@ -1,22 +1,6 @@
/*
This is a personal academic project. Dear PVS-Studio, please check it.
PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
#define _SVID_SOURCE 1
#define _XOPEN_SOURCE 500
#define _POSIX_C_SOURCE 2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/select.h>
#include "error.h"
#include "shr_mem.h"
#include <math.h>
#include "master.h"
#include "siglib.h"
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "../include/master.h"
static char viewLinked = 0;
int slaveNum;

View File

@ -1,20 +1,6 @@
/*
This is a personal academic project. Dear PVS-Studio, please check it.
PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
#define _SVID_SOURCE 1
#define _POSIX_C_SOURCE 200112L
#include <sys/shm.h>
#include <semaphore.h>
#include <fcntl.h>
#include <string.h>
#include "error.h"
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#include "shr_mem.h"
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "../include/shr_mem.h"
sem_t * semEmpty = NULL;
sem_t * semOpen = NULL;

View File

@ -1,13 +1,6 @@
/*
This is a personal academic project. Dear PVS-Studio, please check it.
PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
#define _POSIX_C_SOURCE 200112L
#include "siglib.h"
#include <signal.h>
#include "error.h"
#include <unistd.h>
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "../include/siglib.h"
void addSignalHandler(void (*changeViewFlag)()) {
struct sigaction sigAct = {{0}};

View File

@ -1,16 +1,6 @@
/*
This is a personal academic project. Dear PVS-Studio, please check it.
PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
#define _POSIX_C_SOURCE 2
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
#include "error.h"
#include "slave.h"
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "../include/slave.h"
int main(int argc, char *argv[]) {
if (setvbuf(stdout, NULL, _IONBF, 0) != 0)

View File

@ -1,16 +1,6 @@
/*
This is a personal academic project. Dear PVS-Studio, please check it.
PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
#define _POSIX_C_SOURCE 200112L
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "error.h"
#include "shr_mem.h"
#include "siglib.h"
#include "view.h"
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "../include/view.h"
int main(int argc, char * argv[]) {
char amount[MAX_AMOUNT_SIZE] = {0};

10
view.h
View File

@ -1,10 +0,0 @@
#ifndef VIEW_H
#define VIEW_H
#define MAX_SIZE 300
#define MAX_AMOUNT_SIZE 10
#define MAX_PID_SIZE 10
#define MAX_PATH_SIZE 100
#define MAX_OUTPUT_SIZE (200 + MAX_PATH_SIZE)
#endif