Codebase list dos2unix / e9c9daa2-0ec3-436a-96e9-3a17d3c9a150/main vc.mak
e9c9daa2-0ec3-436a-96e9-3a17d3c9a150/main

Tree @e9c9daa2-0ec3-436a-96e9-3a17d3c9a150/main (Download .tar.gz)

vc.mak @e9c9daa2-0ec3-436a-96e9-3a17d3c9a150/mainraw · history · blame

# Makefile for Microsoft Visual C++
#

!include version.mk

UNIFILE = 1

CC = cl.exe /nologo
LINK = link.exe /nologo
SRCDIR = .

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

!ifdef DEBUG
LDFLAGS = -debug
!else
LDFLAGS =
!endif

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

prefix = c:\usr\local

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

all: $(PROGRAMS) $(DOCFILES)


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

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


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

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

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

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

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

mac2unix.exe : dos2unix.exe
	copy /v dos2unix.exe mac2unix.exe

unix2mac.exe : unix2dos.exe
	copy /v unix2dos.exe unix2mac.exe

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


$(prefix):
	if not exist $@ mkdir $@

$(bindir): $(prefix)
	if not exist $@ mkdir $@

$(datarootdir): $(prefix)
	if not exist $@ mkdir $@

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

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

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

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

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

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

txt : $(TXTFILES)

html : $(HTMLFILES)

doc : $(DOCFILES)

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

!ifndef VERSIONSUFFIX
VERSIONSUFFIX	= -bin
!endif

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

DISTCMD = dist.bat

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


mostlyclean :
	-del *.obj
	-del *.exe
	-del *.tmp

clean : mostlyclean
	-del $(DISTCMD)

maintainer-clean : clean
	-del $(DOCFILES)