| 
									
										
										
										
											2023-05-24 09:55:33 +00:00
										 |  |  | CFLAGS?=-O2 -g -Wall  -Wimplicit-fallthrough=0  | 
					
						
							|  |  |  | CFLAGS+= -I./aisdecoder -I ./aisdecoder/lib -I./tcp_listener  | 
					
						
							| 
									
										
										
										
											2023-05-24 10:18:40 +00:00
										 |  |  | LD_EXTRA_PATHS= -L /usr/lib/arm-linux-gnueabihf/ -L /usr/lib/i386-linux-gnu/ -L /usr/lib/x86_64-linux-gnu/ | 
					
						
							|  |  |  | LDFLAGS+=-lpthread -lm $(LD_EXTRA_PATHS) | 
					
						
							| 
									
										
										
										
											2020-02-19 18:55:24 +00:00
										 |  |  | ifeq ($(PREFIX),) | 
					
						
							|  |  |  |     PREFIX := /usr/local | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-07-13 22:38:56 +00:00
										 |  |  | UNAME := $(shell uname) | 
					
						
							|  |  |  | ifeq ($(UNAME),Linux) | 
					
						
							|  |  |  | #Conditional for Linux
 | 
					
						
							|  |  |  | CFLAGS+= $(shell pkg-config --cflags librtlsdr) | 
					
						
							| 
									
										
										
										
											2023-05-24 09:55:33 +00:00
										 |  |  | LD_LIBRTLSDR=$(shell pkg-config --libs librtlsdr) | 
					
						
							|  |  |  | #Ugly hack. Check if the output of pkg-config is long enough to be valid
 | 
					
						
							|  |  |  | LD_LIBRTLSDR_LENGTH := $(shell echo "$(LD_LIBRTLSDR)" | wc -c) | 
					
						
							|  |  |  | ifeq ($(shell test $(LD_LIBRTLSDR_LENGTH) -gt 13; echo $$?),0) | 
					
						
							|  |  |  | #The  pkg-config output seem to be ok, let's use it
 | 
					
						
							|  |  |  | 	LDFLAGS+=$(shell pkg-config --libs librtlsdr) | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | #The  pkg-config output seem to be too short, use the default lib name and default paths
 | 
					
						
							|  |  |  | 	LDFLAGS+=-lrtlsdr | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-07-13 22:38:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | else | 
					
						
							| 
									
										
										
										
											2015-07-22 15:57:32 +00:00
										 |  |  | #
 | 
					
						
							|  |  |  | #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 | 
					
						
							| 
									
										
										
										
											2015-07-13 22:38:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-22 15:57:32 +00:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2015-07-13 22:38:56 +00:00
										 |  |  | #Conditional for Windows
 | 
					
						
							| 
									
										
										
										
											2015-07-22 15:57:32 +00:00
										 |  |  | CFLAGS+=-I $(LIBUSB_INCLUDE) -I $(RTLSDR_INCLUDE) | 
					
						
							|  |  |  | LDFLAGS+=-L$(LIBUSB_INCLUDE) -L$(RTLSDR_LIB) -L/usr/lib -lusb-1.0 -lrtlsdr -lWs2_32 | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 22:38:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-12 00:18:23 +00:00
										 |  |  | CC?=gcc | 
					
						
							|  |  |  | SOURCES= \
 | 
					
						
							| 
									
										
										
										
											2016-06-02 19:54:51 +00:00
										 |  |  | 	main.c rtl_ais.c convenience.c \
 | 
					
						
							| 
									
										
										
										
											2015-07-12 00:18:23 +00:00
										 |  |  | 	./aisdecoder/aisdecoder.c \
 | 
					
						
							|  |  |  | 	./aisdecoder/sounddecoder.c \
 | 
					
						
							|  |  |  | 	./aisdecoder/lib/receiver.c \
 | 
					
						
							|  |  |  | 	./aisdecoder/lib/protodec.c \
 | 
					
						
							|  |  |  | 	./aisdecoder/lib/hmalloc.c \
 | 
					
						
							| 
									
										
										
										
											2016-05-10 22:01:09 +00:00
										 |  |  | 	./aisdecoder/lib/filter.c \
 | 
					
						
							|  |  |  | 	./tcp_listener/tcp_listener.c | 
					
						
							| 
									
										
										
										
											2015-07-12 00:18:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | OBJECTS=$(SOURCES:.c=.o) | 
					
						
							|  |  |  | EXECUTABLE=rtl_ais | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all: $(SOURCES) $(EXECUTABLE) | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  | $(EXECUTABLE): $(OBJECTS)  | 
					
						
							|  |  |  | 	$(CC) $(OBJECTS) -o $@ $(LDFLAGS) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .c.o: | 
					
						
							|  |  |  | 	$(CC) -c $< -o $@ $(CFLAGS) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							| 
									
										
										
										
											2016-05-14 23:24:30 +00:00
										 |  |  | 	rm -f $(OBJECTS) $(EXECUTABLE) $(EXECUTABLE).exe | 
					
						
							| 
									
										
										
										
											2020-02-19 18:55:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | install: | 
					
						
							| 
									
										
										
										
											2020-09-01 01:35:39 +00:00
										 |  |  | 	install -d -m 755 $(DESTDIR)/$(PREFIX)/bin | 
					
						
							|  |  |  | 	install -m 755 $(EXECUTABLE) "$(DESTDIR)/$(PREFIX)/bin/" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-24 09:55:33 +00:00
										 |  |  | 
 |