Blame vc.mak

Packit 6f700b
# Makefile for Microsoft Visual C++
Packit 6f700b
#
Packit 6f700b

Packit 6f700b
!include version.mk
Packit 6f700b

Packit 6f700b
UNIFILE = 1
Packit 6f700b

Packit 6f700b
CC = cl.exe /nologo
Packit 6f700b
LINK = link.exe /nologo
Packit 6f700b
SRCDIR = .
Packit 6f700b

Packit 6f700b
DEFINES = /DVER_REVISION=\"$(DOS2UNIX_VERSION)\" /DVER_DATE=\"$(DOS2UNIX_DATE)\" /DVER_AUTHOR=\""$(DOS2UNIX_AUTHOR)"\"
Packit 6f700b
CFLAGS = $(DEFINES)
Packit 6f700b

Packit 6f700b
!ifdef DEBUG
Packit 6f700b
LDFLAGS = -debug
Packit 6f700b
!else
Packit 6f700b
LDFLAGS =
Packit 6f700b
!endif
Packit 6f700b

Packit 6f700b
PROGRAMS = dos2unix.exe unix2dos.exe mac2unix.exe unix2mac.exe
Packit 6f700b
HTMLEXT = htm
Packit 6f700b
PACKAGE = dos2unix
Packit 6f700b
DOCFILES = man\man1\$(PACKAGE).txt man\man1\$(PACKAGE).$(HTMLEXT)
Packit 6f700b
VERSIONSUFFIX = -win32
Packit 6f700b
UCS = 1
Packit 6f700b

Packit 6f700b
prefix = c:\usr\local
Packit 6f700b

Packit 6f700b
# We only build and install the English manuals, because wildcards on
Packit 6f700b
# directory names are not supported in Windows CMD. Like man\*\man1\*.txt will
Packit 6f700b
# give a syntax error. It could be done with more scripting, but for simplicity
Packit 6f700b
# we stick to English.
Packit 6f700b

Packit 6f700b
all: $(PROGRAMS) $(DOCFILES)
Packit 6f700b

Packit 6f700b

Packit 6f700b
dos2unix.exe: dos2unix.obj querycp.obj common.obj
Packit 6f700b
	$(LINK) $(LDFLAGS) dos2unix.obj querycp.obj common.obj setargv.obj mpr.lib shell32.lib
Packit 6f700b

Packit 6f700b
unix2dos.exe: unix2dos.obj querycp.obj common.obj
Packit 6f700b
	$(LINK) $(LDFLAGS) unix2dos.obj querycp.obj common.obj setargv.obj mpr.lib shell32.lib
Packit 6f700b

Packit 6f700b

Packit 6f700b
!if "$(UCS)" == "1"
Packit 6f700b
CFLAGS = $(CFLAGS) -DD2U_UNICODE
Packit 6f700b
!endif
Packit 6f700b
!if "$(UNIFILE)" == "1"
Packit 6f700b
CFLAGS = $(CFLAGS) -DD2U_UNIFILE
Packit 6f700b
!endif
Packit 6f700b
!if "$(DEBUGMSG)" == "1"
Packit 6f700b
CFLAGS = $(CFLAGS) -DDEBUG
Packit 6f700b
!endif
Packit 6f700b

Packit 6f700b
dos2unix.obj :  $(SRCDIR)\dos2unix.c $(SRCDIR)\querycp.h $(SRCDIR)\common.h
Packit 6f700b
	$(CC) -c $(CFLAGS) $(SRCDIR)\dos2unix.c
Packit 6f700b

Packit 6f700b
unix2dos.obj :  $(SRCDIR)\unix2dos.c $(SRCDIR)\querycp.h $(SRCDIR)\common.h
Packit 6f700b
	$(CC) -c $(CFLAGS) $(SRCDIR)\unix2dos.c
Packit 6f700b

Packit 6f700b
querycp.obj :  $(SRCDIR)\querycp.c $(SRCDIR)\querycp.h
Packit 6f700b
	$(CC) -c $(CFLAGS) $(SRCDIR)\querycp.c
Packit 6f700b

Packit 6f700b
common.obj :  $(SRCDIR)\common.c $(SRCDIR)\common.h
Packit 6f700b
	$(CC) -c $(CFLAGS) $(SRCDIR)\common.c
Packit 6f700b

Packit 6f700b
mac2unix.exe : dos2unix.exe
Packit 6f700b
	copy /v dos2unix.exe mac2unix.exe
Packit 6f700b

Packit 6f700b
unix2mac.exe : unix2dos.exe
Packit 6f700b
	copy /v unix2dos.exe unix2mac.exe
Packit 6f700b

Packit 6f700b
exec_prefix = $(prefix)
Packit 6f700b
bindir      = $(exec_prefix)\bin
Packit 6f700b
datarootdir = $(prefix)\share
Packit 6f700b
datadir     = $(datarootdir)
Packit 6f700b
!ifndef docsubdir
Packit 6f700b
docsubdir   = $(PACKAGE)-$(DOS2UNIX_VERSION)
Packit 6f700b
!endif
Packit 6f700b
docdir      = $(datarootdir)\doc\$(docsubdir)
Packit 6f700b
INSTALL_OBJS_DOC = README.txt NEWS.txt ChangeLog.txt COPYING.txt TODO.txt BUGS.txt $(DOCFILES)
Packit 6f700b

Packit 6f700b

Packit 6f700b
$(prefix):
Packit 6f700b
	if not exist $@ mkdir $@
Packit 6f700b

Packit 6f700b
$(bindir): $(prefix)
Packit 6f700b
	if not exist $@ mkdir $@
Packit 6f700b

Packit 6f700b
$(datarootdir): $(prefix)
Packit 6f700b
	if not exist $@ mkdir $@
Packit 6f700b

Packit 6f700b
$(datarootdir)\doc: $(datarootdir)
Packit 6f700b
	if not exist $@ mkdir $@
Packit 6f700b

Packit 6f700b
$(docdir): $(datarootdir)\doc
Packit 6f700b
	if not exist $@ mkdir $@
Packit 6f700b

Packit 6f700b
install: $(PROGRAMS) $(DOCFILES) $(bindir) $(docdir)
Packit 6f700b
	copy dos2unix.exe $(bindir)
Packit 6f700b
	copy mac2unix.exe $(bindir)
Packit 6f700b
	copy unix2dos.exe $(bindir)
Packit 6f700b
	copy unix2mac.exe $(bindir)
Packit 6f700b
	copy README.txt $(docdir)
Packit 6f700b
	copy NEWS.txt $(docdir)
Packit 6f700b
	copy ChangeLog.txt $(docdir)
Packit 6f700b
	copy COPYING.txt $(docdir)
Packit 6f700b
	copy TODO.txt $(docdir)
Packit 6f700b
	copy BUGS.txt $(docdir)
Packit 6f700b
	copy man\man1\$(PACKAGE).txt $(docdir)
Packit 6f700b
	copy man\man1\$(PACKAGE).$(HTMLEXT) $(docdir)
Packit 6f700b

Packit 6f700b
man\man1\dos2unix.txt : man\man1\dos2unix.pod
Packit 6f700b
	pod2text $** > $@
Packit 6f700b

Packit 6f700b
man\man1\dos2unix.$(HTMLEXT) : man\man1\dos2unix.pod
Packit 6f700b
	pod2html --title="$(PACKAGE) $(DOS2UNIX_VERSION) - DOS/MAC to UNIX and vice versa text file format converter" $** > $@
Packit 6f700b

Packit 6f700b
TXTFILES = man\man1\$(PACKAGE).txt
Packit 6f700b
HTMLFILES = man\man1\$(PACKAGE).$(HTMLEXT)
Packit 6f700b

Packit 6f700b
txt : $(TXTFILES)
Packit 6f700b

Packit 6f700b
html : $(HTMLFILES)
Packit 6f700b

Packit 6f700b
doc : $(DOCFILES)
Packit 6f700b

Packit 6f700b
uninstall:
Packit 6f700b
	-del $(bindir)\dos2unix.exe
Packit 6f700b
	-del $(bindir)\mac2unix.exe
Packit 6f700b
	-del $(bindir)\unix2dos.exe
Packit 6f700b
	-del $(bindir)\unix2mac.exe
Packit 6f700b
	-rmdir /s /q $(docdir)
Packit 6f700b

Packit 6f700b
!ifndef VERSIONSUFFIX
Packit 6f700b
VERSIONSUFFIX	= -bin
Packit 6f700b
!endif
Packit 6f700b

Packit 6f700b
!ifndef ZIPFILE
Packit 6f700b
ZIPFILE = $(PACKAGE)$(DOS2UNIX_VERSION)$(VERSIONSUFFIX).zip
Packit 6f700b
!endif
Packit 6f700b
ZIPOBJ = bin\dos2unix.exe bin\mac2unix.exe bin\unix2dos.exe bin\unix2mac.exe share\doc\$(docsubdir) $(ZIPOBJ_EXTRA)
Packit 6f700b

Packit 6f700b
DISTCMD = dist.bat
Packit 6f700b

Packit 6f700b
dist :
Packit 6f700b
	@echo cd /d $(prefix) > $(DISTCMD)
Packit 6f700b
	@echo unix2dos -k share\doc\$(docsubdir)\*.txt >> $(DISTCMD)
Packit 6f700b
	@echo unix2dos -k share\doc\$(docsubdir)\*.$(HTMLEXT) >> $(DISTCMD)
Packit 6f700b
	@echo zip -r $(ZIPFILE) $(ZIPOBJ) >> $(DISTCMD)
Packit 6f700b
	@echo cd /d $(MAKEDIR) >> $(DISTCMD)
Packit 6f700b
	@echo move $(prefix)\$(ZIPFILE) .. >> $(DISTCMD)
Packit 6f700b
	.\$(DISTCMD)
Packit 6f700b

Packit 6f700b

Packit 6f700b
mostlyclean :
Packit 6f700b
	-del *.obj
Packit 6f700b
	-del *.exe
Packit 6f700b
	-del *.tmp
Packit 6f700b

Packit 6f700b
clean : mostlyclean
Packit 6f700b
	-del $(DISTCMD)
Packit 6f700b

Packit 6f700b
maintainer-clean : clean
Packit 6f700b
	-del $(DOCFILES)