From cfc6b549f62ffe986f188bf7a9b749ab6be9df7d Mon Sep 17 00:00:00 2001 From: dev Date: Mon, 2 May 2022 16:18:01 +0800 Subject: [PATCH] ADD Makefile for rtl-ais --- module_templates/stdio/ais/Makefile | 70 +++++++++++++++++++++++++++++ module_templates/stdio/ais/main.c | 2 +- module_templates/stdio/rtl-ais | 1 + 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 module_templates/stdio/ais/Makefile create mode 160000 module_templates/stdio/rtl-ais diff --git a/module_templates/stdio/ais/Makefile b/module_templates/stdio/ais/Makefile new file mode 100644 index 0000000..eeb4d23 --- /dev/null +++ b/module_templates/stdio/ais/Makefile @@ -0,0 +1,70 @@ +CFLAGS?=-O2 -g -Wall -W +CFLAGS+= -I./aisdecoder -I ./aisdecoder/lib -I./tcp_listener +LDFLAGS+=-lpthread -lm -L /usr/lib/arm-linux-gnueabihf/ + +ifeq ($(PREFIX),) + PREFIX := /usr/local +endif +UNAME := $(shell uname) +ifeq ($(UNAME),Linux) +#Conditional for Linux +CFLAGS+= $(shell pkg-config --cflags librtlsdr) +LDFLAGS+=$(shell pkg-config --libs librtlsdr) + +else +# +#ADD THE CORRECT PATH FOR LIBUSB AND RTLSDR +#TODO: +# CMAKE will be much better or create a conditional pkg-config + + +# RTLSDR +RTLSDR_INCLUDE=/tmp/rtl-sdr/include +RTLSDR_LIB=/tmp/rtl-sdr/build/src + +# LIBUSB +LIBUSB_INCLUDE=/tmp/libusb/include/libusb-1.0 +LIBUSB_LIB=/tmp/libusb/lib + +ifeq ($(UNAME),Darwin) +#Conditional for OSX +CFLAGS+= -I/usr/local/include/ -I$(LIBUSB_INCLUDE) -I$(RTLSDR_INCLUDE) +LDFLAGS+= -L/usr/local/lib -L$(LIBUSB_LIB) -L$(RTLSDR_LIB) -lrtlsdr -lusb-1.0 +else +#Conditional for Windows +CFLAGS+=-I $(LIBUSB_INCLUDE) -I $(RTLSDR_INCLUDE) +LDFLAGS+=-L$(LIBUSB_INCLUDE) -L$(RTLSDR_LIB) -L/usr/lib -lusb-1.0 -lrtlsdr -lWs2_32 +endif + + +endif + +CC?=gcc +SOURCES= \ + main.c rtl_ais.c convenience.c \ + ./aisdecoder/aisdecoder.c \ + ./aisdecoder/sounddecoder.c \ + ./aisdecoder/lib/receiver.c \ + ./aisdecoder/lib/protodec.c \ + ./aisdecoder/lib/hmalloc.c \ + ./aisdecoder/lib/filter.c \ + ./tcp_listener/tcp_listener.c + +OBJECTS=$(SOURCES:.c=.o) +EXECUTABLE=rtl_ais + +all: $(SOURCES) $(EXECUTABLE) + +$(EXECUTABLE): $(OBJECTS) + $(CC) $(OBJECTS) -o $@ $(LDFLAGS) + +.c.o: + $(CC) -c $< -o $@ $(CFLAGS) + +clean: + rm -f $(OBJECTS) $(EXECUTABLE) $(EXECUTABLE).exe + +install: + install -d -m 755 $(DESTDIR)/$(PREFIX)/bin + install -m 755 $(EXECUTABLE) "$(DESTDIR)/$(PREFIX)/bin/" + diff --git a/module_templates/stdio/ais/main.c b/module_templates/stdio/ais/main.c index 0f1bc77..4c43d51 100644 --- a/module_templates/stdio/ais/main.c +++ b/module_templates/stdio/ais/main.c @@ -226,7 +226,7 @@ int main(int argc, char **argv) // dequeue while((str = rtl_ais_next_message(ctx))) { - puts(str); //or code something that fits your needs + //puts(str); or code something that fits your needs } } #if _POSIX_C_SOURCE >= 199309L // nanosleep available() diff --git a/module_templates/stdio/rtl-ais b/module_templates/stdio/rtl-ais new file mode 160000 index 0000000..09ca36c --- /dev/null +++ b/module_templates/stdio/rtl-ais @@ -0,0 +1 @@ +Subproject commit 09ca36ce6b8120c0e3b5ad878b9ee6c826de8ae4 -- GitLab