This commit is contained in:
Grant Mackey 2024-04-08 05:47:57 +00:00
parent e1aaad14d9
commit 9e6778bdfc
4 changed files with 51 additions and 9 deletions

View File

@ -58,7 +58,7 @@ APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright 2024 Jackrabbit-Labs-LLC
Copyright 2024 Jackrabbit-Founders-LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -13,16 +13,16 @@
# ******************************************************************************
CC=gcc
CFLAGS= -g3 -O0 -Wall -Wextra
MACROS=
INCLUDE_DIR=/usr/local/include
LIB_DIR=/usr/local/lib
CFLAGS?= -g3 -O0 -Wall -Wextra
MACROS?=
INCLUDE_DIR?=/usr/local/include
LIB_DIR?=/usr/local/lib
INCLUDE_PATH=-I $(INCLUDE_DIR)
LIB_PATH=-L $(LIB_DIR)
LIBS=
TARGET=ptrqueue
all: testbench lib$(TARGET).a
all: lib$(TARGET).a
testbench: testbench.c main.o
$(CC) $^ $(CFLAGS) $(MACROS) $(INCLUDE_PATH) $(LIB_PATH) $(LIBS) -o $@
@ -43,7 +43,11 @@ install: lib$(TARGET).a
sudo cp lib$(TARGET).a $(LIB_DIR)/
sudo cp main.h $(INCLUDE_DIR)/$(TARGET).h
.PHONY: all clean doc install
uninstall:
sudo rm $(LIB_DIR)/lib$(TARGET).a
sudo rm $(INCLUDE_DIR)/$(TARGET).h
.PHONY: all clean doc install uninstall
# Variables
# $^ Will expand to be all the sensitivity list

View File

@ -1,2 +1,40 @@
# ptr_queue-release
# Overview
This is a C library that implements a basic queue. This queue utilizes a
global mutex and is multi-writer, multi-reader thread safe.
# Supported Operating System Versions
- Ubuntu 23.10
- Fedora 38, 39
# Building
1. Install OS libraries
Install the following build packages to compile the software on the following
operating systems.
**Ubuntu:**
```bash
apt install build-essential
```
**Fedora:**
```bash
```
2. Build Dependencies
This library does not depend upon any other non-os provided library.
3. Build
To build, simply run
```bash
make
```

View File

@ -19,7 +19,7 @@
#include <linux/types.h>
#include "ptrqueue.h"
#include "main.h"
/* MACROS ====================================================================*/