Skip to content

Clean up Makefiles #75

Closed
Closed

Description

@dmiller-nmap

Our sub-projects (Ncat, Nping, Zenmap, Ndiff, and nmap-update) and included libraries (libpcap, libpcre, liblua, libnetutil, nbase, nsock, libdnet-stripped) use different spellings and arrangement of directives, variables, and dependencies, but really all do nearly the same thing. Example:

all: @LUA_BUILD@ @LIBLINEAR_BUILD@ @PCAP_BUILD@ @PCRE_BUILD@ @DNET_BUILD@ @NBASE_BUILD@ @NSOCK_BUILD@ @NCAT_BUILD@ @NMAP_UPDATE_BUILD@ netutil_build
  $(MAKE) $(TARGET) $(BUILDZENMAP) $(BUILDNDIFF) $(BUILDNPING)

In this example, why does libnetutil not use an AC_SUBST expansion, but nbase does? Why do Ncat and nmap-update use AC_SUBST expansions and not a Makefile variable like $(BUILDNCAT)? Later in the file, why is it ncat_build but build-nping?

The targets are also interspersed: sometimes the clean-* targets are all together, other times it's grouped by project name.

Activity

  1. dmiller-nmap commented on Mar 10, 2015

    @dmiller-nmap
    Author

    At the risk of bloating an already broad task, a lot of our stuff breaks with large -j values to make.

  2. G10h4ck commented on Jul 22, 2015

    @G10h4ck
    Contributor
  3. boite commented on Sep 18, 2015

    @boite

    @G10h4ck are you still working on this issue? If not, and if @dmiller-nmap (or is it @bonsaiviking ) isn't, then I'd like to do a bit more towards it: there's still some un-interspersing that can be done along with more conversions of AC_SUBST expansions to Makefile variables.

  4. G10h4ck commented on Sep 18, 2015

    @G10h4ck
    Contributor

    Nope I am not working on it right now, so you are welcome to continue fixing this ;)

  5. fyodor commented on Apr 20, 2026

    @fyodor
    Member

    Closing because this is maybe too broad/general of an issue and we have other build-system issues that are better defined. Plus it has been lingering open for 11 years at this point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions