Blame djgpp.mak

Packit 6f700b
# Author: Erwin Waterlander
Packit 6f700b
# Copyright (C) 2009-2016 Erwin Waterlander
Packit 6f700b
# This file is distributed under the same license as the dos2unix package.
Packit 6f700b

Packit 6f700b
include version.mk
Packit 6f700b

Packit 6f700b
d2u_os=$(shell uname -s)
Packit 6f700b

Packit 6f700b
# DJGPP 2.03
Packit 6f700b
LINK = ln -sf
Packit 6f700b
# DJGPP 2.05
Packit 6f700b
# In DJGPP 2.05 linking with ln works differently. The links created
Packit 6f700b
# with DJGPP 2.05 do not work.
Packit 6f700b
#LINK = cp -f
Packit 6f700b

Packit 6f700b
# The install and dist targets can be run in MSYS. The OS variable must be
Packit 6f700b
# forced to msdos, otherwise extra targets will get build in MSYS.
Packit 6f700b

Packit 6f700b
# On DOS we need to set SHELL to sh.exe or bash.exe, otherwise targets may fail
Packit 6f700b
# (targets install and dist fail certainly). SHELL can't be overridden in this
Packit 6f700b
# make level. It sticks to command.com (at least with DJGPP 2.03 make 3.79.1).
Packit 6f700b
# SHELL has to be set in a parent process, so we pass it to the sub make instances.
Packit 6f700b
D2U_MAKESHELL=$(shell which sh)
Packit 6f700b

Packit 6f700b
CROSS_COMP=0
Packit 6f700b

Packit 6f700b
ifeq ($(findstring CYGWIN,$(d2u_os)),CYGWIN)
Packit 6f700b
	CROSS_COMP=1
Packit 6f700b
endif
Packit 6f700b

Packit 6f700b
ifeq ($(CROSS_COMP),1)
Packit 6f700b
	CROSS_COMPILE=i586-pc-msdosdjgpp-
Packit 6f700b
	LINK = cp -f
Packit 6f700b
endif
Packit 6f700b

Packit 6f700b
CC=$(CROSS_COMPILE)gcc
Packit 6f700b
STRIP=$(CROSS_COMPILE)strip
Packit 6f700b

Packit 6f700b
prefix=c:/dos32
Packit 6f700b
ENABLE_NLS=
Packit 6f700b
VERSIONSUFFIX=-dos32
Packit 6f700b

Packit 6f700b
ifdef ENABLE_NLS
Packit 6f700b
LIBS_EXTRA = -lintl -liconv
Packit 6f700b
NLS_SUFFIX = -nls
Packit 6f700b
endif
Packit 6f700b
VERSIONSUFFIX = pm
Packit 6f700b
ZIPFILE = d2u$(DOS2UNIX_VERSION_SHORT)$(VERSIONSUFFIX)$(NLS_SUFFIX).zip
Packit 6f700b
ZIPOBJ_EXTRA = bin/cwsdpmi.exe
Packit 6f700b
docsubdir = dos2unix
Packit 6f700b

Packit 6f700b
all:
Packit 6f700b
	$(MAKE) all EXE=.exe ENABLE_NLS=$(ENABLE_NLS) LIBS_EXTRA="$(LIBS_EXTRA)" prefix=$(prefix) LINK="$(LINK)" LINK_MAN="cp -f" docsubdir=$(docsubdir) UCS= CC=$(CC) D2U_OS=msdos SHELL=$(D2U_MAKESHELL)
Packit 6f700b

Packit 6f700b
test: all
Packit 6f700b
	cd test; $(MAKE) test UCS= SHELL=$(D2U_MAKESHELL) 
Packit 6f700b

Packit 6f700b
check: test
Packit 6f700b

Packit 6f700b
install:
Packit 6f700b
	$(MAKE) install EXE=.exe ENABLE_NLS=$(ENABLE_NLS) LIBS_EXTRA="$(LIBS_EXTRA)" prefix=$(prefix) LINK="$(LINK)" LINK_MAN="cp -f" docsubdir=$(docsubdir) UCS= CC=$(CC) D2U_OS=msdos SHELL=$(D2U_MAKESHELL)
Packit 6f700b

Packit 6f700b
uninstall:
Packit 6f700b
	$(MAKE) uninstall EXE=.exe prefix=$(prefix) docsubdir=$(docsubdir) SHELL=$(D2U_MAKESHELL)
Packit 6f700b

Packit 6f700b
clean:
Packit 6f700b
	$(MAKE) clean EXE=.exe ENABLE_NLS=$(ENABLE_NLS) prefix=$(prefix) SHELL=$(D2U_MAKESHELL)
Packit 6f700b

Packit 6f700b
mostlyclean:
Packit 6f700b
	$(MAKE) mostlyclean EXE=.exe ENABLE_NLS=$(ENABLE_NLS) prefix=$(prefix) SHELL=$(D2U_MAKESHELL)
Packit 6f700b

Packit 6f700b
dist:
Packit 6f700b
	$(MAKE) dist-zip EXE=.exe prefix=$(prefix) VERSIONSUFFIX="$(VERSIONSUFFIX)" ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" ENABLE_NLS=$(ENABLE_NLS) ZIPFILE=${ZIPFILE} docsubdir=$(docsubdir) SHELL=$(D2U_MAKESHELL)
Packit 6f700b

Packit 6f700b
strip:
Packit 6f700b
	$(MAKE) strip LINK="$(LINK)" LINK_MAN="cp -f" EXE=.exe STRIP=$(STRIP) SHELL=$(D2U_MAKESHELL)
Packit 6f700b
# Fix time stamps. Otherwise make install may rebuild mac2unix unix2mac.
Packit 6f700b
	sleep 10
Packit 6f700b
	touch mac2unix.exe
Packit 6f700b
	touch unix2mac.exe
Packit 6f700b