barrier/dist/nullsoft/nmake.mak

64 lines
2.1 KiB
Makefile

# synergy -- mouse and keyboard sharing utility
# Copyright (C) 2007 Chris Schoeneman
#
# This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# found in the file COPYING that should have accompanied this file.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
NSIS = "$(PROGRAMFILES)\NSIS\makensis.exe"
NSIS_FLAGS = /NOCD /V1
BIN_INSTALLER_SRC = dist\nullsoft
BIN_INSTALLER_DST = $(BUILD_DST)\$(BIN_INSTALLER_SRC)
BIN_DOSIFY_EXE = "$(BIN_INSTALLER_DST)\dosify.exe"
BIN_DOSIFY_C = \
"$(BIN_INSTALLER_SRC)\dosify.c" \
$(NULL)
BIN_DOSIFY_OBJ = \
"$(BIN_INSTALLER_DST)\dosify.obj" \
$(NULL)
BIN_INSTALLER_NSI = "$(BIN_INSTALLER_SRC)\synergy.nsi"
BIN_INSTALLER_EXE = "$(BUILD_DST)\SynergyInstaller.exe"
BIN_INSTALLER_DOCS = \
COPYING \
ChangeLog \
$(NULL)
BIN_INSTALLER_DOS_DOCS = \
$(BUILD_DST)\COPYING.txt \
$(BUILD_DST)\ChangeLog.txt \
$(NULL)
C_FILES = $(C_FILES) $(BIN_DOSIFY_C)
OBJ_FILES = $(OBJ_FILES) $(BIN_DOSIFY_OBJ)
OPTPROGRAMS = $(OPTPROGRAMS) $(BIN_DOSIFY_EXE)
# Build rules.
$(BIN_DOSIFY_OBJ): $(BIN_DOSIFY_C)
@$(ECHO) Compile $(BIN_DOSIFY_C)
-@$(MKDIR) $(BIN_INSTALLER_DST) 2>NUL:
$(cc) $(cdebug) $(cflags) $(cvars) /Fo$@ /Fd$(@:.obj=.pdb) $**
$(BIN_DOSIFY_EXE): $(BIN_DOSIFY_OBJ)
@$(ECHO) Link $(@F)
$(link) $(ldebug) $(conlflags) $(conlibsmt) /out:$@ $**
# Convert text files from Unix to DOS format.
$(BIN_INSTALLER_DOS_DOCS): $(BIN_DOSIFY_EXE) $(BIN_INSTALLER_DOCS)
@$(ECHO) Convert text files to DOS format
$(BIN_DOSIFY_EXE) "." "$(BUILD_DST)" $(BIN_INSTALLER_DOCS)
# Allow installers for both debug and release.
$(BIN_INSTALLER_EXE): $(BIN_INSTALLER_NSI) all $(BIN_INSTALLER_DOS_DOCS)
@$(ECHO) Build $(@F)
$(NSIS) $(NSIS_FLAGS) /DOUTPUTDIR=$(@D) /DOUTPUTFILE=$@ $(BIN_INSTALLER_NSI)
installer: $(BIN_INSTALLER_EXE)
debug-installer:
@$(MAKE) /nologo /f $(MAKEFILE) DEBUG=1 installer
release-installer:
@$(MAKE) /nologo /f $(MAKEFILE) NODEBUG=1 installer