diff options
author | Martin Burnicki <martin.burnicki@meinberg.de> | 2020-08-25 15:36:17 +0200 |
---|---|---|
committer | Martin Burnicki <martin.burnicki@meinberg.de> | 2020-08-25 15:36:17 +0200 |
commit | 3a3ea70c46af6e0ea9085681a85a1462225921a1 (patch) | |
tree | 21609eafe02ec4fa7a2874c771b5318d21bdda9b | |
parent | 0742d224ccfd89a5bf87f07fbad32d16d6265599 (diff) | |
parent | 41869040e9ba2c11431cc1f3b7d2592256472d11 (diff) | |
download | gpsxmple-3a3ea70c46af6e0ea9085681a85a1462225921a1.tar.gz gpsxmple-3a3ea70c46af6e0ea9085681a85a1462225921a1.zip |
Merge branch 'linux'
-rw-r--r-- | unix/Makefile | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/unix/Makefile b/unix/Makefile new file mode 100644 index 0000000..9b856d6 --- /dev/null +++ b/unix/Makefile @@ -0,0 +1,107 @@ + +######################################################################### +# +# $Id: Makefile 1.9 2017/04/12 08:49:33 martin TEST $ +# +# Description: +# Makefile for gpsxmple for Unix-like systems. +# Currently supported OSs: Linux, QNX 6.x +# +# ----------------------------------------------------------------------- +# $Log: Makefile $ +# Revision 1.9 2017/04/12 08:49:33 martin +# Changed CFLAGS to CPPFLAGS. +# Revision 1.8 2017/04/05 16:08:53 martin +# Added some library modules. +# Revision 1.7 2014/10/30 13:50:04 martin +# Added module mbgerror.o. +# Revision 1.6 2013/02/01 16:11:27 martin +# Added extiohlp module to the list of object files. +# Revision 1.5 2011/08/19 07:26:40 martin +# Modified the way to define targets etc. +# Revision 1.4 2011/04/18 08:08:41 martin +# Modified DEBUG handling. +# Revision 1.3 2009/10/01 14:09:19 martin +# Added mbgserio.c source module. +# Revision 1.2 2006/08/22 15:49:27 martin +# Moved this makefile for Unix-like systems to folder unix. +# This build environment now supports Linux and QNX 6.x. +# Network socket I/O is supported for both Linux and QNX. +# Serial I/O is not yet supprted for QNX, but for Linux. +# Account for mbglib files having been moved to subdirectory mbglib. +# Build with debug if make is called with DEBUG=1. +# Added library modules mbgextio.c and aes128.c. +# Revision 1.1 2004/06/01 14:55:27 martin +# +######################################################################### + +TARGET = gpsxmple + +MBGLIB = ../mbglib +MBGLIB_DIRS += common + +VPATH += .. +VPATH += $(foreach dir,$(MBGLIB_DIRS),$(MBGLIB)/$(dir)) + +OBJS = $(TARGET).o +OBJS += extiohlp.o +OBJS += xtiocomm.o +OBJS += cfg_hlp.o +OBJS += mbgextio.o +OBJS += mbgserio.o +OBJS += gpsserio.o +OBJS += gpsutils.o +OBJS += aes128.o +OBJS += mbgerror.o +OBJS += str_util.o +OBJS += lan_util.o +OBJS += xdevfeat.o + +# Try to determine whether the OS is QNX +OS_IS_QNX := $(shell uname | grep -i QNX && echo "QNX" ) + + +# set up the compiler flags + +CPPFLAGS += -Wall + +ifdef DEBUG + # build with debugging enabled + CPPFLAGS += -g -DDEBUG=$(DEBUG) +else + # build with specified optimization level + CPPFLAGS += -O2 +endif + +CPPFLAGS += -D_USE_SOCKET_IO=1 + +CPPFLAGS += -I. +CPPFLAGS += $(foreach dir,$(MBGLIB_DIRS),-I$(MBGLIB)/$(dir)) + +ifneq ($(OS_IS_QNX),) + # for QNX we must link the socket library explicitely + LDFLAGS += -lsocket + # we don't yet support serial I/O under QNX + CPPFLAGS += -D_USE_SERIAL_IO=0 +else + CPPFLAGS += -D_USE_SERIAL_IO=1 +endif + + +LD = $(CC) + +.PHONY: all +all: $(TARGET) + +$(TARGET): $(OBJS) + $(LD) $(LDFLAGS) -o $@ $(OBJS) + + +.PHONY: clean +clean: + rm -f *.o *~ core + rm -f $(TARGET) + +.PHONY: distclean +distclean: clean + |