# $Id: Makefile,v 1.8 2005/04/04 14:51:57 pdi Exp $ ####### MACROS ############################################################### # Copyright 1998-2022 Stonie R. Cooper, Licensed under the auspices of GPLv3, # See top-level copyright disclaimer (COPYRIGHT) and license (LICENSE) # Licensed under the auspices of GPLv3 # See top-level copyright disclaimer (COPYRIGHT) and license (LICENSE) # Build options. OS_TYPE = _LINUX_ DEBUG = 2 CHANNELS = 20 VERSION := $(shell date -u "+%Y%m%d") DISTRO := $(shell ./../config/distro.sh) # Project file paths. SYSINC = /usr/src/linux/include/linux VPATH = $(SYSINC) # Tools options. CFLAGS = -m64 -Wall -D$(OS_TYPE) -D_DEBUG_=$(DEBUG) -D_GNUC_ -O2 -funroll-loops -pipe -fomit-frame-pointer -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 LIBS=-lz -lm -lpthread -lncurses -ltinfo -L../lib -lpdinrs -Llib -lpdi INCLUDE=-I/usr/src/linux/include -I/usr/include -I./include HDLCLIB=-lpthread -lncurses -ltinfo -lc ./lib/libpdi.a -lbz2 CC=gcc OFLAGS=-DCPU=x86_64 -D_DEFAULT_SOURCE -D_REENTRANT -DHDLC -Dunix -DMAX_CHANNELS=$(CHANNELS) -DMAX_NUM_ACTIONS=8 -DMAX_NUM_PRODUCTS=512 -DPDINRS_VERSION=$(VERSION) -D__LINUX__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 OBJS=pdinrs_udp.o \ pdinrs_recording.o \ pdinrs_distribution_config.o \ pdinrs_buffer_config.o \ pdinrs_channel_config.o \ pdinrs_config.o \ pdinrs_demodulator_set.o \ pdinrs_demodulator_log.o \ pdinrs_distribution.o \ pdinrs_socket.o \ pdinrs_channel.o \ pdinrs_buffer.o \ pdinrs_extract_header.o \ pdinrs_set_output.o \ pdinrs_watch.o \ pdinrs_top.o \ pdinrs_robust_top.o \ pdinrs_watch.o \ pdinrs_ftp.o \ pdinrs_endian.o \ pdinrs_grib2.o \ pdinrs_list.o all: ${OBJS} pdinrs MakeGraphs version: writeVersion.c rm -f writeVersion; \ ${CC} -Wall -o writeVersion writeVersion.c $(OFLAGS); \ ./writeVersion pdinrs_udp.o: ${CC} -c pdinrs_udp.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_udp.o pdinrs_recording.o: ${CC} -c pdinrs_recording.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_recording.o pdinrs_distribution_config.o: pdinrs_distribution_config.c ${CC} -c pdinrs_distribution_config.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_distribution_config.o pdinrs_buffer_config.o: pdinrs_buffer_config.c ${CC} -c pdinrs_buffer_config.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_buffer_config.o pdinrs_channel_config.o: pdinrs_channel_config.c ${CC} -c pdinrs_channel_config.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_channel_config.o pdinrs_config.o: pdinrs_config.c ${CC} -c pdinrs_config.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_config.o pdinrs_buffer.o: pdinrs_buffer.c ${CC} -c pdinrs_buffer.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_buffer.o pdinrs_demodulator_log.o: pdinrs_demodulator_log.c ${CC} -c pdinrs_demodulator_log.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_demodulator_log.o pdinrs_distribution.o: pdinrs_distribution.c ${CC} -c pdinrs_distribution.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_distribution.o pdinrs_channel.o: pdinrs_channel.c ${CC} -c pdinrs_channel.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_channel.o pdinrs_socket.o: pdinrs_socket.c ${CC} -c pdinrs_socket.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_socket.o pdinrs_extract_header.o: pdinrs_extract_header.c ${CC} -c pdinrs_extract_header.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_extract_header.o pdinrs_set_output.o: pdinrs_set_output.c ${CC} -c pdinrs_set_output.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_set_output.o pdinrs_demodulator_set.o: pdinrs_demodulator_set.c ${CC} -c pdinrs_demodulator_set.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_demodulator_set.o pdinrs_top.o: pdinrs_top.c ${CC} -c pdinrs_top.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_top.o pdinrs_robust_top.o: pdinrs_robust_top.c ${CC} -c pdinrs_robust_top.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_robust_top.o pdinrs_watch.o: pdinrs_watch.c ${CC} -c pdinrs_watch.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_watch.o pdinrs_ftp.o: pdinrs_ftp.c ${CC} -c pdinrs_ftp.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_ftp.o pdinrs_endian.o: pdinrs_endian.c ${CC} -c pdinrs_endian.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_endian.o pdinrs_grib2.o: pdinrs_grib2.c ${CC} -c pdinrs_grib2.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_grib2.o pdinrs_list.o: pdinrs_list.c ${CC} -c pdinrs_list.c ${OFLAGS} ${INCLUDE} ${CFLAGS}; \ ar -r ../lib/libpdinrs.a pdinrs_list.o pdinrs: pdinrs.c ${OBJS} ${CC} -o ../bin/pdinrs.${DISTRO} pdinrs.c ${INCLUDE} ${CFLAGS} \ ${OFLAGS} ${LIBS} -lbz2 -lncurses -ltinfo -lz; \ rm -f *.o clean: rm -f *.o ../bin/pdinrs ../lib/*pdi*