.SUFFIXES:
.SUFFIXES: .c .cc .h .o
SHELL = /bin/sh
RM = rm -f
pwd = /bin/pwd
CC=gcc
CPP=gcc -E
CFLAGS=-O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wsign-compare -Wshadow -Wpointer-arith
CPPFLAGS=
LDFLAGS=  
ALLOCA=
LN_S=ln -s
version=21.4.9
PROGNAME=xemacs
INSTALLABLES=setup
# vpath %.c /usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
# vpath %.cc /usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
# vpath %.h /usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
# vpath %.l /usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
# vpath %.y /usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
# vpath %.rc /usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
prefix=/usr/local
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
#srcdir=/usr/local/src/xemacs/patched/windows-21-4.cygwin/netinstall
srcdir=.
datadir=${prefix}/lib
instvardir=${PROGNAME}-${version}
top_srcdir=/usr/local/src/xemacs/patched/windows-21-4.cygwin
archlibdir=${libdir}/${instvardir}/${configuration}
configuration=i686-pc-cygwin
moduledir=${libdir}/${instvardir}/${configuration}/modules
sitemoduledir=${libdir}/${inststaticdir}/site-modules
#extra_includes=-I/usr/lib/../include/mingw -I/usr/lib/../include
extra_includes=-I/usr/include/mingw
blddir=/usr/local/src/xemacs/patched/windows-21-4.cygwin
INSTALL = /usr/local/src/xemacs/patched/windows-21-4.cygwin/lib-src/installexe.sh /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
SHELL = /bin/sh
program_transform_name = s,x,x,
CC		= gcc
CC_FOR_TARGET	= $(CC)
LOCALCFLAGS = $(CFLAGS) -O2 -DMINGW $(extra_includes)
CXXFLAGS	= $(LOCALCFLAGS) -fno-exceptions -nostdinc++ -fno-rtti
WINDRES		= windres
MINGW_INCLUDES	= -I. -I$(srcdir) 
MINGW_CXXFLAGS	= $(CXXFLAGS) -mno-cygwin $(MINGW_INCLUDES) -mwindows
MINGW_CFLAGS	= $(LOCALCFLAGS) -mno-cygwin $(MINGW_INCLUDES) -mwindows
MINGW_ZLIB_DIR	= /usr/lib/mingw
PROG	= setup.exe
PROGJ	= setup-ja.exe
XEMACS=${blddir}/src/${PROGNAME}
CYGWIN_SIZE=0
WIN32_SIZE=0
KIT_VERSION=""
CONFIG_H = ../src/config.h
OBJS = \
	autoload.o \
	choose.o \
	concat.o \
	desktop.o \
	dialog.o \
	diskfull.o \
	download.o \
	find.o \
	fromcwd.o \
	geturl.o \
	hash.o \
	ini.o \
	inilex.o \
	iniparse.o \
	init.o \
	install.o \
	localdir.o \
	log.o \
	main.o \
	mkdir.o \
	mklink2.o \
	regedit.o \
	msg.o \
	net.o \
	netio.o \
	nio-ie5.o \
	nio-file.o \
	nio-ftp.o \
	nio-http.o \
	other.o \
	postinstall.o \
	root.o \
	simpsock.o \
	site.o \
	source.o \
	splash.o \
	state.o \
	tar.o \
	uninstall.o \
	version.o
.SUFFIXES:
.NOEXPORT:
.PHONY: all install
all: $(PROG) $(PROGJ)

$(PROG): $(OBJS) res.o
	$(CXX) $(MINGW_CXXFLAGS) -o $@ $(OBJS) res.o \
		-lole32 -lwsock32 -lnetapi32 -ladvapi32 \
		-luuid -lkernel32 -luser32 \
		-L$(MINGW_ZLIB_DIR) -Wl,-Bstatic -lz -Wl,-Bdynamic -lmingw32
	@chmod a-x $@

$(PROGJ): $(OBJS) res-ja.o
	$(CXX) $(MINGW_CXXFLAGS) -o $@ $(OBJS) res-ja.o \
		-lole32 -lwsock32 -lnetapi32 -ladvapi32 \
		-luuid -lkernel32 -luser32 \
		-L$(MINGW_ZLIB_DIR) -Wl,-Bstatic -lz -Wl,-Bdynamic -lmingw32
	@chmod a-x $@

setup-bin.ini:
	V=`grep '^\$$Revision.*' $(srcdir)/ChangeLog \
	| sed -e 's/\$$Revision: 1.6 $$.*//'` ;\
	$(XEMACS) -batch -vanilla \
		-eval '(setq package-net-cygwin32-binary-size $(CYGWIN_SIZE) \
			package-net-win32-binary-size $(WIN32_SIZE) \
			package-net-kit-version "$(KIT_VERSION)" \
			package-net-setup-version "'$$V'")' \
		-l ${srcdir}/../lisp/package-net.el \
		-f package-net-batch-generate-bin-ini
install:
	@echo; echo "Installing net setup."
	for file in ${INSTALLABLES} ; do \
	  (cd .. && $(INSTALL_PROGRAM) netinstall/$${file} ${bindir}/$${file}) ; \
	done
# version.c : $(srcdir)/ChangeLog Makefile
# 	  V=`grep '^\$$Revision.*' $(srcdir)/ChangeLog \
# 	  | sed -e 's/\$$Revision:* *//' \
# 		-e 's/ *$$.*//'` ;\
# 	  echo "char *version = \"$$V\";" > version.tmp ;\
# 	  echo "static char *id = \"\\n%%% setup-version $$V\\n\";" >> version.tmp
# 	  mv version.tmp version.c
%.o: %.rc
	$(WINDRES) --include-dir $(srcdir) -o $@ $<

RC=rc

res-ja.o: res-ja.rc
	$(RC) /i $(srcdir) /fo $(@:.o=.res) $<
	$(WINDRES) -I res -O coff $(@:.o=.res) $@

%.o: %.c
	$(CC) $(MINGW_CFLAGS) -c -o $@ $<
%.o: %.cc
	$(CC) $(MINGW_CXXFLAGS) -c -o $@ $<
iniparse.c iniparse.h : iniparse.y
	bison -d -o iniparse.c iniparse.y
inilex.c : inilex.l iniparse.h
	flex -8 inilex.l
	mv lex.yy.c inilex.c
.PHONY: mostlyclean clean distclean realclean extraclean
mostlyclean:
	$(RM) *.o *.i *.ini core $(PROGS)
clean: mostlyclean
distclean: clean
	$(RM) GNUmakefile Makefile Makefile.in TAGS
realclean: distclean
extraclean: distclean
	$(RM) *~ \#*
choose.o: choose.cc win32.h dialog.h resource.h state.h ini.h concat.h \
 msg.h log.h find.h reginfo.h
concat.o: concat.cc
desktop.o: desktop.cc win32.h resource.h ini.h msg.h state.h concat.h \
 mkdir.h dialog.h version.h port.h reginfo.h desktop.h
dialog.o: dialog.cc win32.h dialog.h msg.h log.h
diskfull.o: diskfull.cc win32.h diskfull.h
download.o: download.cc win32.h resource.h msg.h ini.h dialog.h \
 concat.h geturl.h state.h mkdir.h log.h
find.o: find.cc win32.h port.h
fromcwd.o: fromcwd.cc win32.h ini.h resource.h concat.h state.h \
 dialog.h msg.h find.h version.h port.h
geturl.o: geturl.cc win32.h dialog.h \
 geturl.h resource.h netio.h msg.h log.h
hash.o: hash.cc hash.h
ini.o: ini.cc win32.h ini.h resource.h concat.h state.h geturl.h \
 dialog.h msg.h mkdir.h log.h reginfo.h version.h
inilex.o: inilex.c win32.h \
 ini.h \
 iniparse.h
iniparse.o: iniparse.c ini.h \
 iniparse.h \
 port.h
install.o: install.cc win32.h \
 resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
 diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h desktop.h
init.o: init.cc win32.h resource.h dialog.h state.h msg.h log.h 
uninstall.o: uninstall.cc win32.h \
 resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
 diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h desktop.h
localdir.o: localdir.cc win32.h dialog.h resource.h state.h msg.h \
 concat.h log.h
log.o: log.cc win32.h resource.h msg.h log.h dialog.h state.h concat.h \
 mkdir.h
main.o: main.cc win32.h resource.h dialog.h state.h msg.h netio.h \
 find.h log.h port.h
mkdir.o: mkdir.cc win32.h mkdir.h
mklink2.o: mklink2.c win32.h /usr/include/w32api/shlobj.h
msg.o: msg.cc win32.h dialog.h log.h
net.o: net.cc win32.h dialog.h resource.h state.h msg.h log.h
netio.o: netio.cc win32.h resource.h state.h msg.h netio.h nio-file.h \
 nio-ie5.h nio-http.h nio-ftp.h dialog.h log.h port.h
nio-file.o: nio-file.cc win32.h netio.h nio-file.h resource.h msg.h
nio-ftp.o: nio-ftp.cc win32.h resource.h state.h simpsock.h log.h \
 netio.h nio-ftp.h
nio-http.o: nio-http.cc win32.h resource.h state.h simpsock.h msg.h \
 netio.h nio-http.h
nio-ie5.o: nio-ie5.cc win32.h resource.h state.h dialog.h msg.h \
 netio.h nio-ie5.h
other.o: other.cc win32.h dialog.h resource.h state.h msg.h log.h
postinstall.o: postinstall.cc win32.h state.h dialog.h find.h concat.h \
 port.h
regedit.o: regedit.cc win32.h reginfo.h regedit.h msg.h resource.h \
 dialog.h
root.o: root.cc win32.h dialog.h resource.h state.h msg.h regedit.h \
 reginfo.h concat.h log.h
simpsock.o: simpsock.cc win32.h simpsock.h msg.h
site.o: site.cc win32.h dialog.h resource.h state.h geturl.h msg.h \
 concat.h regedit.h reginfo.h log.h port.h
source.o: source.cc win32.h dialog.h resource.h state.h msg.h log.h
splash.o: splash.cc win32.h dialog.h resource.h msg.h version.h
state.o: state.cc state.h
tar.o: tar.cc win32.h tar.h mkdir.h log.h port.h
version.o: version.c
