include files for cgxCADTools

Robert Kennedy amtor at hotmail.com
Mon Aug 8 17:08:05 UTC 2022


Mark,

The Makefile template that you sent me looks like it was based on a Makefile template for C programs, NOT C++ programs.

For C++, you need to set CXX to the compiler and use CXXFLAGS for the C++ compiler flags.   Use +=.  Do not use := since MacPorts will likely want to add its own flags.

LDFLAGS should be also be used to set any linker flags.  Again use +=
e,g,  LDFLAGS +=

Here is the format.

$(MAIN): $(OBJS)
 $(CXX) $(CXXFLAGS) $(LDFLAGS) $(INCLUDES) -o $(MAIN) $(OBJS) $(LFLAGS) $(FWORKDIRS) $(LIBS) $(FWORKS)

where LFLAGS += library directories.
LIBS += library flags e.g.  -lm for math library
FWORKDIRS += Framework directories etc

Rob
________________________________
From: macports-dev <macports-dev-bounces at lists.macports.org> on behalf of Mark Brethen <mark.brethen at gmail.com>
Sent: August 8, 2022 12:22 PM
To: Joshua Root <jmr at macports.org>
Cc: MacPorts Developers <macports-dev at lists.macports.org>
Subject: Re: include files for cgxCADTools

The makefile only sets cc, not c++. If I remove -lstc++ from LIBS, then I need to add it to the portfile using LDFLAGS. The Makefile uses LFLAGS, which I don’t want to override. Should I add LDFLAGS to MAIN, like so:

$(MAIN): $(OBJS)
        $(CC) $(CFLAGS) $(INCLUDES) -o $(MAIN) $(OBJS) $(LFLAGS) $(LIBS) $(LDFLAGS)







Mark Brethen
mark.brethen at gmail.com



> On Aug 8, 2022, at 11:10 AM, Joshua Root <jmr at macports.org> wrote:
>
> That's a completely different thing. The language standard is selected by -std, the stdlib implementation is selected by -stdlib, and linking to a stdlib directly (as -lstdc++ does) is usually a bug since the C++ compiler will implicitly add the appropriate stdlib when linking.
>
> - Josh
>
> On 2022-8-9 01:16 , Mark Brethen wrote:
>> There is also -lstdc++, I thought those should be set in the Portfile. Doesn’t macports-clang have its own standard?
>> Mark Brethen
>> mark.brethen at gmail.com <mailto:mark.brethen at gmail.com>
>>> On Aug 7, 2022, at 7:22 PM, Ryan Schmidt <ryandesign at macports.org <mailto:ryandesign at macports.org>> wrote:
>>>
>>> In fact, the Makefile already had -std=c++11, but your patchfile removed it. So don't remove it.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20220808/82e27ba2/attachment.htm>


More information about the macports-dev mailing list