Linux only?

I have been reading the various threads on building VASSAL, with something approaching dismay. Why should I need an IDE? Why can’t I just run “make”?

I look in the makefile and see things like:

[code]# Before building, you will need to install (at least) the following packages:

Launch4j (http://launch4j.sourceforge.net)

NSIS (http://nsis.sourceforge.net)

[/code]

So I lookup what these do, and they seem to have no relevance for building on Linux. Remember all I want to do is bear my own weight and not be a burden on anyone. In return I don’t want to be bothered with anything Windows or MacOS related.

Okay I ignore that and keep studying the Makefile. Actually it does seem to be divided into sections roughly corresponding the various platforms.

So I find this rule:

#
# Linux
#

$(TMPDIR)/VASSAL-$(VERSION)-linux/VASSAL-$(VERSION): all $(LIBDIR)/Vengine.jar
.....

So I manage to work out that in this case TMPDIR=tmp and VERSION=3.3.0-beta3 (the last source tarball I could find).
So I did:

make tmp/VASSAL-3.3.0-beta3-linux/VASSAL-3.3.0-beta3

This produced streams of warnings, but I was able to start VASSAL this way. So it seems to me that if we added a rule:

linux-only-selfish-curmdugeon: $(TMPDIR)/VASSAL-$(VERSION)-linux/VASSAL-$(VERSION)

This might make it a little easier to contribute. I would not need to install launch4j, nsis, eclipse etc. I don’t know if it would be useful to put in similar rules for the other OS’es but obviously I’d be happy if it was.

Thus spake slimy:

I have been reading the various threads on building VASSAL, with
something approaching dismay. Why should I need an IDE? Why can’t I just
run “make”?

You don’t need an IDE. You can just run make. That’s what I’ve been doing
since I started working on VASSAL in 2006.

I look in the makefile and see things like:

Code:

Before building, you will need to install (at least) the following

packages:

Launch4j (launch4j.sourceforge.net)

NSIS (nsis.sourceforge.net)

So I lookup what these do, and they seem to have no relevance for
building on Linux. Remember all I want to do is bear my own weight and
not be a burden on anyone. In return I don’t want to be bothered with
anything Windows or MacOS related.

Those are neeed for buiding the Windows package. You don’t need them
unless you’re doing that.

Okay I ignore that and keep studying the Makefile. Actually it does seem
to be divided into sections roughly corresponding the various platforms.

So I find this rule:

Code:

Linux

$(TMPDIR)/VASSAL-$(VERSION)-linux/VASSAL-$(VERSION): all
$(LIBDIR)/Vengine.jar

That’s (part of) building the LInux package. If you’re not trying to build
the package, you don’t need that, either.

I suspect what you want is actually ‘make jar’.


J.

I can run “make release-linux”. It doesn’t need anything Windows or MacOS related.

I only have Linux, don’t have any of these NSIS and Launch4j things, and I can build a Linux release. That only needs make, the usual linux tools like find sed tar etc, and a JDK.

I use an IDE but it’s only for convenience, I could edit the code with emacs or vi just as well.

Thus spake Flint1b:

I can run “make release-linux”. It doesn’t need anything Windows or
MacOS related.

Also, yes, this. If you want to build a Linux release, ‘make release-linux’
is the target you want.

I’ve clarified the comments at the top of the Makefile and pushed that.


J.

Thanks everyone.