1
0
mirror of https://github.com/peterantypas/maiana.git synced 2025-05-16 07:20:08 -07:00
2021-09-09 08:14:28 -07:00

142 lines
2.4 KiB
Makefile

# -*- makefile -*-
# CXX := c++
CXXFLAGS :=
CXXFLAGS += -std=c++11
# CXXFLAGS += -O3 -funroll-loops -fexpensive-optimizations -DNDEBUG
# CXXFLAGS += -g3 -O0 -m32
WARN := -Wall
WARN += -Wextra
WARN += -Wno-sign-compare
# WARN += -Werror
# Disabled warnings
# WARN += -pedantic # long long
# WARN += -W
# WARN += -Weffc++
# WARN += -Wendif-labels
# WARN += -Wimplicit
# WARN += -Wmissing-prototypes
# WARN += -Wnewline-eof
# WARN += -Wredundant-decls
# WARN += -Wshadow
# WARN += -Wuninitialized # Requires -O to work.
# WARN += -Wunknown-pragmas
# WARN += -Wunreachable-code
# WARN += -Wunused
DEBUG := -g -O2
# DEBUG := -g3 -DDEBUG=1
# DEBUG += -O0
# DEBUG += -O
# DEBUG += -D_GLIBCXX_DEBUG # Bad things on the mac? May be a gtest bug.
# DEBUG += -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCPP_CONCEPT_CHECKS
OPT := -O3 -funroll-loops -fexpensive-optimizations
OPT += -DNDEBUG
ifdef OPTIMIZE
CXXFLAGS += ${OPT}
else
CXXFLAGS += ${DEBUG}
endif
CXXFLAGS += ${WARN}
SRCS := ais.cpp
SRCS += ais_bitset.cpp
SRCS += ais1_2_3.cpp
SRCS += ais4_11.cpp
SRCS += ais5.cpp
SRCS += ais6.cpp
SRCS += ais7_13.cpp
SRCS += ais8.cpp
# IMO Messages - Circ 289
SRCS += ais8_1_22.cpp # Area notice
SRCS += ais8_1_26.cpp # Env Sensors
SRCS += ais8_200.cpp # River Information System (RIS)
# US Specific Messages
SRCS += ais8_366.cpp
SRCS += ais8_366_22.cpp
SRCS += ais8_367.cpp
SRCS += ais9.cpp
SRCS += ais10.cpp
# See 4 for 11
SRCS += ais12.cpp
# See 7 for 13
SRCS += ais14.cpp
SRCS += ais15.cpp
SRCS += ais16.cpp
SRCS += ais17.cpp
SRCS += ais18.cpp
SRCS += ais19.cpp
SRCS += ais20.cpp
SRCS += ais21.cpp
SRCS += ais22.cpp
SRCS += ais23.cpp
SRCS += ais24.cpp
SRCS += ais25.cpp
SRCS += ais26.cpp
SRCS += ais27.cpp
#SRCS += ais28.cpp
SRCS += decode_body.cpp
SRCS += vdm.cpp
OBJS := ${SRCS:.cpp=.o}
all: libais.a
libais.a: ${OBJS}
ls ${OBJS}
ar rv $@ $?
ranlib $@
clean:
-rm -rf *.o *.a *.pyc
-rm -rf *.d *.dSYM
# Deprecated.
ais_decode_normed: ${OBJS} ais_decode_normed.o ais.h
@echo SRCS: ${SRCS}
@echo OBJS: ${OBJS}
${CXX} -o $@ ${OBJS} ais_decode_normed.o ${CXXFLAGS}
# Hardcoded depends
ais.o: ais.h
ais123.o: ais.h
ais4_11.o: ais.h
ais5.o: ais.h
ais6.o: ais.h
ais7_13.o: ais.h
ais8_1_22.o: ais.h
ais9.o: ais.h
ais10.o: ais.h
ais12.o: ais.h
ais14.o: ais.h
ais15.o: ais.h
ais16.o: ais.h
ais17.o: ais.h
ais18.o: ais.h
ais19.o: ais.h
ais20.o: ais.h
ais21.o: ais.h
ais22.o: ais.h
ais23.o: ais.h
ais24.o: ais.h
ais25.o: ais.h
ais26.o: ais.h
ais27.o: ais.h
ais_py.o: ais.h
vdm.o: vdm.h ais.h