1
0
mirror of https://github.com/nmap/nmap.git synced 2026-01-30 10:09:03 +00:00
Files
nmap/macosx/Makefile
david 7d2a93ec02 Modify the macosx makefile and add files necessary to build a managed
metapackage (.mpkg) installer. The installer lets you pick if you want to
install Nmap or Zenmap or both. It puts Nmap in /usr/local and the previously
developed Zenmap.app in /Applications.
2008-04-24 22:54:19 +00:00

63 lines
2.0 KiB
Makefile

# This makefile builds a disk image (.dmg) containing the Zenmap application
# bundle.
NMAP_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_VERSION' ../nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q')
NMAP_NUM_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_NUM_VERSION' ../nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q')
NAME_VERSION = nmap-$(NMAP_VERSION)$(if $(APPENDAGE),-$(APPENDAGE))
IMAGE_STAGING_DIR = $(NAME_VERSION)
NMAP_STAGING_DIR = Nmap
ZENMAP_STAGING_DIR = Zenmap
NMAP_BUILD_DIR = nmap-build
IMAGE_NAME = $(NAME_VERSION).dmg
PKG_NAME = $(NAME_VERSION).mpkg
PREFIX = /usr/local
PACKAGEMAKER = /Developer/usr/bin/packagemaker
EXTRA_DIST_FILES = $(addprefix $(IMAGE_STAGING_DIR)/,COPYING README)
$(IMAGE_NAME): $(IMAGE_STAGING_DIR)/$(PKG_NAME) $(EXTRA_DIST_FILES)
rm -f $@
hdiutil create -imagekey zlib-level=9 -srcfolder $(IMAGE_STAGING_DIR) $@
$(IMAGE_STAGING_DIR)/$(PKG_NAME): stage-nmap stage-zenmap
mkdir -p $(IMAGE_STAGING_DIR)
$(PACKAGEMAKER) --doc nmap.pmdoc --title "Nmap $(NMAP_VERSION)" -o $@
stage-nmap:
rm -rf $(NMAP_BUILD_DIR)
svn export .. $(NMAP_BUILD_DIR)
svn export ../nsock $(NMAP_BUILD_DIR)/nsock
svn export ../nbase $(NMAP_BUILD_DIR)/nbase
svn export ../zenmap $(NMAP_BUILD_DIR)/zenmap
cd $(NMAP_BUILD_DIR) && ./configure --prefix="$(PREFIX)" --without-zenmap --with-libdnet=included --with-libpcap=included --with-libpcre=included --with-liblua=included
make -C $(NMAP_BUILD_DIR)
rm -rf $(NMAP_STAGING_DIR)
make -C $(NMAP_BUILD_DIR) install DESTDIR="`pwd`/$(NMAP_STAGING_DIR)"
stage-zenmap:
mkdir -p $(ZENMAP_STAGING_DIR)/Applications
cd ../zenmap && install_scripts/macosx/make-bundle.sh
cp -rf ../zenmap/dist/Zenmap.app $(ZENMAP_STAGING_DIR)/Applications/
$(IMAGE_STAGING_DIR)/README:
mkdir -p $(IMAGE_STAGING_DIR)
cp -f README $(IMAGE_STAGING_DIR)/
$(IMAGE_STAGING_DIR)/COPYING:
mkdir -p $(IMAGE_STAGING_DIR)
cp -f ../COPYING $(IMAGE_STAGING_DIR)/
clean:
rm -rf $(IMAGE_STAGING_DIR)
rm -rf $(NMAP_STAGING_DIR)
rm -rf $(ZENMAP_STAGING_DIR)
rm -rf $(NMAP_BUILD_DIR)
rm -f $(IMAGE_NAME)
.PHONY: clean