The beginning of Linux build support.

This commit is contained in:
Jonathan Naylor 2018-05-15 19:32:38 +01:00
parent 12d55cef37
commit bb602947f4
31 changed files with 273 additions and 36 deletions

13
APRSTransmit/Makefile Normal file
View file

@ -0,0 +1,13 @@
OBJECTS = APRSParser.o APRSTransmitApp.o APRSTransmit.o
all: aprstransmit
aprstransmit: $(OBJECTS)
$(CXX) $(OBJECTS) ../Common/Common.a $(LDFLAGS) $(LIBS) -o aprstransmit
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -c -o $@ $<
clean:
$(RM) aprstransmit *.o *.d *.bak *~

22
Common/Makefile Normal file
View file

@ -0,0 +1,22 @@
OBJECTS = AMBEData.o AnnouncementUnit.o APRSCollector.o APRSWriter.o APRSWriterThread.o AudioUnit.o CacheManager.o CallsignList.o \
CallsignServer.o CCITTChecksum.o CCSData.o CCSHandler.o CCSProtocolHandler.o ConnectData.o DCSHandler.o DCSProtocolHandler.o \
DCSProtocolHandlerPool.o DDData.o DDHandler.o DExtraHandler.o DExtraProtocolHandler.o DExtraProtocolHandlerPool.o \
DPlusAuthenticator.o DPlusHandler.o DPlusProtocolHandler.o DPlusProtocolHandlerPool.o DRATSServer.o DTMF.o \
DummyRepeaterProtocolHandler.o DVTOOLFileReader.o EchoUnit.o G2Handler.o G2ProtocolHandler.o GatewayCache.o \
HBRepeaterProtocolHandler.o HeaderData.o HeaderLogger.o HeardData.o HostFile.o IcomRepeaterProtocolHandler.o IRCDDBGatewayConfig.o \
LogEvent.o Logger.o PollData.o RemoteHandler.o RemoteLinkData.o RemoteProtocolHandler.o RemoteRepeaterData.o RemoteStarNetGroup.o \
RemoteStarNetUser.o RepeaterCache.o RepeaterHandler.o SHA256.o SlowDataEncoder.o StarNetHandler.o StatusData.o \
TCPReaderWriterClient.o TCPReaderWriterServer.o TextCollector.o TextData.o Timer.o UDPReaderWriter.o UserCache.o Utils.o \
VersionUnit.o XLXHostsFileDownloader.o
all: Common.a
Common.a: $(OBJECTS)
$(AR) rcs Common.a $(OBJECTS)
%.o: %.cpp
$(CXX) $(CFLAGS) -I../ircDDB -c -o $@ $<
clean:
$(RM) Common.a *.o *.d *.bak *~

14
GUICommon/Makefile Normal file
View file

@ -0,0 +1,14 @@
OBJECTS = AddressTextCtrl.o CallsignTextCtrl.o DCSSet.o DescriptionTextCtrl.o DExtraSet.o DPlusSet.o DPRSSet.o PortTextCtrl.o RemoteSet.o \
RepeaterDataSet.o RepeaterInfoSet.o RestrictedTextCtrl.o StarNetSet.o XLXSet.o
all: GUICommon.a
GUICommon.a: $(OBJECTS)
$(AR) rcs GUICommon.a $(OBJECTS)
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -c -o $@ $<
clean:
$(RM) GUICommon.a *.o *.d *.bak *~

62
Makefile Normal file
View file

@ -0,0 +1,62 @@
export DATADIR := "/usr/local/etc"
export LOGDIR := "/var/log"
export CONFDIR := "/etc"
export CXX := $(shell wx-config --cxx)
export CFLAGS := -g -O2 -Wall $(shell wx-config --cxxflags) -DLOG_DIR='$(LOGDIR)' -DCONF_DIR='$(CONFDIR)' -DDATA_DIR='$(DATADIR)'
export LIBS := $(shell wx-config --libs adv,core)
export LDFLAGS := -g
all: ircDDBGateway/ircddbgateway ircDDBGatewayConfig/ircddbgatewayconfig APRSTransmit/aprstransmit RemoteControl/remotecontrol \
StarNetServer/starnetserver TextTransmit/texttransmit TimerControl/timercontrol TimeServer/timeserver VoiceTransmit/voicetransmit
ircDDBGateway/ircddbgateway: Common/Common.a ircDDB/IRCDDB.a
make -C ircDDBGateway
ircDDBGatewayConfig/ircddbgatewayconfig: GUICommon/GUICommon.a Common/Common.a
make -C ircDDBGatewayConfig
APRSTransmit/aprstransmit: Common/Common.a
make -C APRSTransmit
RemoteControl/remotecontrol: Common/Common.a GUICommon/GUICommon.a
make -C RemoteControl
StarNetServer/starnetserver: Common/Common.a ircDDB/IRCDDB.a
make -C StarNetServer
TextTransmit/texttransmit: Common/Common.a
make -C TextTransmit
TimerControl/timercontrol: Common/Common.a GUICommon/GUICommon.a
make -C TimerControl
TimeServer/timeserver: Common/Common.a GUICommon/GUICommon.a
make -C TimeServer
VoiceTransmit/voicetransmit: Common/Common.a
make -C VoiceTransmit
GUICommon/GUICommon.a:
make -C GUICommon
Common/Common.a:
make -C Common
ircDDB/IRCDDB.a:
make -C ircDDB
clean:
make -C Common clean
make -C ircDDB clean
make -C GUICommon clean
make -C APRSTransmit clean
make -C ircDDBGateway clean
make -C RemoteControl clean
make -C StarNetServer clean
make -C TextTransmit clean
make -C TimerControl clean
make -C TimeServer clean
make -C VoiceTransmit clean
make -C ircDDBGatewayConfig clean

15
RemoteControl/Makefile Normal file
View file

@ -0,0 +1,15 @@
OBJECTS = RemoteControlApp.o RemoteControlCallsignData.o RemoteControlConfig.o RemoteControlFrame.o RemoteControlLinkData.o \
RemoteControlPreferences.o RemoteControlRemoteControlHandler.o RemoteControlRemoteSet.o RemoteControlRepeaterData.o \
RemoteControlRepeaterPanel.o RemoteControlStarNetGroup.o RemoteControlStarNetPanel.o RemoteControlStarNetUser.o
all: remotecontrol
remotecontrol: $(OBJECTS)
$(CXX) $(OBJECTS) ../GUICommon/GUICommon.a ../Common/Common.a $(LDFLAGS) $(LIBS) -o remotecontrol
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -I../GUICommon -c -o $@ $<
clean:
$(RM) remotecontrol *.o *.d *.bak *~

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011,2012,2013 by Jonathan Naylor G4KLX
* Copyright (C) 2011,2012,2013,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -23,7 +23,7 @@
#include <wx/config.h>
#include <wx/cmdline.h>
IMPLEMENT_APP(CRemoteControlApp)
wxIMPLEMENT_APP(CRemoteControlApp);
const wxChar* NAME_PARAM = wxT("Name");

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011,2012,2013 by Jonathan Naylor G4KLX
* Copyright (C) 2011,2012,2013 b,2018y Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -54,6 +54,6 @@ private:
CRemoteControlConfig* m_config;
};
DECLARE_APP(CRemoteControlApp)
wxDECLARE_APP(CRemoteControlApp);
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2011-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -179,7 +179,7 @@ void CRemoteControlFrame::onAbout(wxCommandEvent&)
{
wxAboutDialogInfo info;
info.AddDeveloper(wxT("Jonathan Naylor, G4KLX"));
info.SetCopyright(wxT("(C) 2011-2015 using GPL v2 or later"));
info.SetCopyright(wxT("(C) 2011-2018 using GPL v2 or later"));
info.SetName(APPLICATION_NAME);
info.SetVersion(VERSION);
info.SetDescription(_("This program allows for the controlling of\nircDDB Gateway and STARnet Digital Server."));

15
StarNetServer/Makefile Normal file
View file

@ -0,0 +1,15 @@
OBJECTS = StarNetServerApp.o StarNetServerCallsignSet.o StarNetServerConfig.o StarNetServerFrame.o StarNetServerIrcDDBSet.o \
StarNetServerLogRedirect.o StarNetServerMiscellaneousSet.o StarNetServerPreferences.o StarNetServerThread.o \
StarNetServerThreadHelper.o
all: starnetserver
starnetserver: $(OBJECTS)
$(CXX) $(OBJECTS) ../GUICommon/GUICommon.a ../Common/Common.a ../ircDDB/IRCDDB.a $(LDFLAGS) $(LIBS) -o starnetserver
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -I../GUICommon -I../ircDDB -c -o $@ $<
clean:
$(RM) starnetserver *.o *.d *.bak *~

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010,2011,2012,2015 by Jonathan Naylor G4KLX
* Copyright (C) 2010,2011,2012,2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -28,7 +28,7 @@
#include <wx/cmdline.h>
#include <wx/filename.h>
IMPLEMENT_APP(CStarNetServerApp)
wxIMPLEMENT_APP(CStarNetServerApp);
const wxChar* NOLOGGING_SWITCH = wxT("nolog");
const wxChar* GUI_SWITCH = wxT("gui");

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010,2011,2012 by Jonathan Naylor G4KLX
* Copyright (C) 2010,2011,2012,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -167,6 +167,6 @@ private:
void createThread();
};
DECLARE_APP(CStarNetServerApp)
wxDECLARE_APP(CStarNetServerApp);
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -633,7 +633,7 @@ void CStarNetServerFrame::onAbout(wxCommandEvent&)
wxAboutDialogInfo info;
info.AddDeveloper(wxT("Jonathan Naylor, G4KLX"));
info.AddDeveloper(wxT("Michael Dirska, DL1BFF"));
info.SetCopyright(wxT("(C) 2011-2015 using GPL v2 or later"));
info.SetCopyright(wxT("(C) 2011-2018 using GPL v2 or later"));
info.SetName(APPLICATION_NAME);
info.SetVersion(VERSION);
info.SetDescription(_("This program allows an Internet connected computer \nto become a StarNet Digital Server."));

13
TextTransmit/Makefile Normal file
View file

@ -0,0 +1,13 @@
OBJECTS = TextTransmit.o
all: texttransmit
texttransmit: $(OBJECTS)
$(CXX) $(OBJECTS) ../Common/Common.a $(LDFLAGS) $(LIBS) -o texttransmit
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -c -o $@ $<
clean:
$(RM) texttransmit *.o *.d *.bak *~

14
TimeServer/Makefile Normal file
View file

@ -0,0 +1,14 @@
OBJECTS = TimeServerAnnouncementsSet.o TimeServerApp.o TimeServerConfig.o TimeServerFrame.o TimeServerGatewaySet.o TimeServerLogRedirect.o \
TimeServerPreferences.o TimeServerThread.o TimeServerThreadHelper.o
all: timeserver
timeserver: $(OBJECTS)
$(CXX) $(OBJECTS) ../GUICommon/GUICommon.a ../Common/Common.a $(LDFLAGS) $(LIBS) -o timeserver
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -I../GUICommon -c -o $@ $<
clean:
$(RM) timeserver *.o *.d *.bak *~

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2012,2014,2015 by Jonathan Naylor G4KLX
* Copyright (C) 2012,2014,2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -26,7 +26,7 @@
#include <wx/cmdline.h>
#include <wx/filename.h>
IMPLEMENT_APP(CTimeServerApp)
wxIMPLEMENT_APP(CTimeServerApp);
const wxChar* NAME_PARAM = wxT("Name");
const wxChar* NOLOGGING_SWITCH = wxT("nolog");

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2012 by Jonathan Naylor G4KLX
* Copyright (C) 2012,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -70,6 +70,6 @@ private:
void createThread();
};
DECLARE_APP(CTimeServerApp)
wxDECLARE_APP(CTimeServerApp);
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2012-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2012-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -176,7 +176,7 @@ void CTimeServerFrame::onAbout(wxCommandEvent&)
{
wxAboutDialogInfo info;
info.AddDeveloper(wxT("Jonathan Naylor, G4KLX"));
info.SetCopyright(wxT("(C) 2012-2015 using GPL v2 or later"));
info.SetCopyright(wxT("(C) 2012-2018 using GPL v2 or later"));
info.SetName(APPLICATION_NAME);
info.SetVersion(VERSION);
info.SetDescription(_("This program allows a computer running a gateway\nto have the time announced."));

14
TimerControl/Makefile Normal file
View file

@ -0,0 +1,14 @@
OBJECTS = TimerControlApp.o TimerControlConfig.o TimerControlFrame.o TimerControlItemFile.o TimerControlPreferences.o \
TimerControlRemoteControlHandler.o TimerControlRemoteSet.o TimerControlRepeaterPanel.o TimerControlThread.o TimerControlThreadHelper.o
all: timercontrol
timercontrol: $(OBJECTS)
$(CXX) $(OBJECTS) ../GUICommon/GUICommon.a ../Common/Common.a $(LDFLAGS) $(LIBS) -o timercontrol
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -I../GUICommon -c -o $@ $<
clean:
$(RM) timercontrol *.o *.d *.bak *~

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2011-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -26,7 +26,7 @@
#include <wx/cmdline.h>
#include <wx/filename.h>
IMPLEMENT_APP(CTimerControlApp)
wxIMPLEMENT_APP(CTimerControlApp);
const wxChar* NAME_PARAM = wxT("Name");
const wxChar* NOLOGGING_SWITCH = wxT("nolog");

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011,2012,2013 by Jonathan Naylor G4KLX
* Copyright (C) 2011,2012,2013,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -69,6 +69,6 @@ private:
void createThread();
};
DECLARE_APP(CTimerControlApp)
wxDECLARE_APP(CTimerControlApp);
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2011-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -168,7 +168,7 @@ void CTimerControlFrame::onAbout(wxCommandEvent&)
{
wxAboutDialogInfo info;
info.AddDeveloper(wxT("Jonathan Naylor, G4KLX"));
info.SetCopyright(wxT("(C) 2011-2015 using GPL v2 or later"));
info.SetCopyright(wxT("(C) 2011-2018 using GPL v2 or later"));
info.SetName(APPLICATION_NAME);
info.SetVersion(VERSION);
info.SetDescription(_("This program allows for the controlling of\nthe ircDDB Gateway."));

13
VoiceTransmit/Makefile Normal file
View file

@ -0,0 +1,13 @@
OBJECTS = VoiceStore.o VoiceTransmit.o
all: voicetransmit
voicetransmit: $(OBJECTS)
$(CXX) $(OBJECTS) ../Common/Common.a $(LDFLAGS) $(LIBS) -o voicetransmit
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -c -o $@ $<
clean:
$(RM) voicetransmit *.o *.d *.bak *~

14
ircDDB/Makefile Normal file
View file

@ -0,0 +1,14 @@
OBJECTS = IRCClient.o IRCDDBApp.o IRCDDBClient.o IRCDDB.o IRCDDBMultiClient.o IRCMessage.o IRCMessageQueue.o IRCProtocol.o IRCReceiver.o \
IRCutils.o
all: IRCDDB.a
IRCDDB.a: $(OBJECTS)
$(AR) rcs IRCDDB.a $(OBJECTS)
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) IRCDDB.a *.o *.d *.bak *~

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -36,7 +36,7 @@
#include <wx/cmdline.h>
#include <wx/filename.h>
IMPLEMENT_APP(CIRCDDBGatewayApp)
wxIMPLEMENT_APP(CIRCDDBGatewayApp);
const wxChar* NAME_PARAM = wxT("Gateway Name");
const wxChar* NOLOGGING_SWITCH = wxT("nolog");

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2013 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2013,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -66,6 +66,6 @@ private:
void createThread();
};
DECLARE_APP(CIRCDDBGatewayApp)
wxDECLARE_APP(CIRCDDBGatewayApp);
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -199,7 +199,7 @@ void CIRCDDBGatewayFrame::onAbout(wxCommandEvent&)
wxAboutDialogInfo info;
info.AddDeveloper(wxT("Jonathan Naylor, G4KLX"));
info.AddDeveloper(wxT("Michael Dirska, DL1BFF"));
info.SetCopyright(wxT("(C) 2010-2015 using GPL v2 or later"));
info.SetCopyright(wxT("(C) 2010-2018 using GPL v2 or later"));
info.SetName(APPLICATION_NAME);
info.SetVersion(VERSION);
info.SetDescription(_("This program allows a computer running homebrew repeaters\nto access the ircDDB network for G2 callsign and repeater routing,\nas well as D-Plus and DExtra reflectors. It includes a StarNet\nDigital server."));

14
ircDDBGateway/Makefile Normal file
View file

@ -0,0 +1,14 @@
OBJECTS = IRCDDBGatewayApp.o IRCDDBGatewayFrame.o IRCDDBGatewayLogRedirect.o IRCDDBGatewayStatusData.o IRCDDBGatewayThread.o \
IRCDDBGatewayThreadHelper.o
all: ircddbgateway
ircddbgateway: $(OBJECTS)
$(CXX) $(OBJECTS) ../Common/Common.a ../ircDDB/IRCDDB.a $(LDFLAGS) $(LIBS) -o ircddbgateway
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -I../ircDDB -c -o $@ $<
clean:
$(RM) ircddbgateway *.o *.d *.bak *~

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2014 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2014,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -25,7 +25,7 @@
#include <wx/cmdline.h>
#include <wx/filename.h>
IMPLEMENT_APP(CIRCDDBGatewayConfigApp)
wxIMPLEMENT_APP(CIRCDDBGatewayConfigApp);
const wxChar* NAME_PARAM = wxT("Gateway Name");
const wxChar* CONFDIR_OPTION = wxT("confdir");

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2013 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2013,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -42,6 +42,6 @@ private:
CIRCDDBGatewayConfigFrame* m_frame;
};
DECLARE_APP(CIRCDDBGatewayConfigApp)
wxDECLARE_APP(CIRCDDBGatewayConfigApp);
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2015 by Jonathan Naylor G4KLX
* Copyright (C) 2010-2015,2018 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -627,7 +627,7 @@ void CIRCDDBGatewayConfigFrame::onAbout(wxCommandEvent&)
{
wxAboutDialogInfo info;
info.AddDeveloper(wxT("Jonathan Naylor, G4KLX"));
info.SetCopyright(wxT("(C) 2010-2015 using GPL v2 or later"));
info.SetCopyright(wxT("(C) 2010-2018 using GPL v2 or later"));
info.SetName(APPLICATION_NAME);
info.SetVersion(VERSION);
info.SetDescription(_("This program configures the ircDDB Gateway."));

View file

@ -0,0 +1,14 @@
OBJECTS = IRCDDBGatewayConfigApp.o IRCDDBGatewayConfigFrame.o IRCDDBGatewayConfigGatewaySet.o IRCDDBGatewayConfigIrcDDBSet.o \
IRCDDBGatewayConfigMiscellaneousSet.o
all: ircddbgatewayconfig
ircddbgatewayconfig: $(OBJECTS)
$(CXX) $(OBJECTS) ../GUICommon/GUICommon.a ../Common/Common.a $(LDFLAGS) $(LIBS) -o ircddbgatewayconfig
%.o: %.cpp
$(CXX) $(CFLAGS) -I../Common -I../GUICommon -c -o $@ $<
clean:
$(RM) ircddbgatewayconfig *.o *.d *.bak *~