########################################################################
#
#       X J D I C
#
#######################################################################
# This is the makefile for xjdic/xjdserver/xjdxgen V2.3
# 
# to use this file, you have several options:
#	make all - does all the binaries
#	make client - just makes the xjdic_cl binary
#	make server - just makes the xjdserver server
#	make stand - just makes the xjdic_sa stand-alone version
#	make xjdxgen - just makes the xjdxgen index generator
#	make exjdxgen - just makes the exjdxgen extension file index generator
#	make clean - just tidies up, removing the .o files.
#	make realclean - deletes everything compiled, not just .o files.
#
#	This Makefile is set to use the gcc compiler. If you want cc instead
#	you will need to alter the "CC=gcc" below, or use CC=cc on the command 
#	line.
#
#	If you want strict BSD ioctls used (which seems to be the case
#	for Suns) add -D__STRICT_BSD___ to the SACFLAGS and CLCFLAGS macros.
#
#	You need to select one of three dictionary and index file
#	access options by uncommenting the appropriate SACFLAGS and
#	SVCFLAGS macros:
#
#		memory-mapped I/O	use -DMMAP
#		demand-paging		use -DDEMAND_PAGING
#		load into RAM		use -DRAM_LOAD
#
#	Memory-mapped I/O does not appear to function correctly
#	under Ultrix. It works with Solaris and Linux.
#
#	Note that it is assumed that window-size ioctls are available.
#	If you want to use curses instead, delete the -DWINSIZE....,
#	and compile the client and/or the stand-alone programs with
#	the "-lcurses -ltermcap".
#
#	Expect some compilation warnings about "qsort". No-one seems
#	able to remove them.
#
#	For DEC Ultrix, you will probably need to alter the comments
#	on the SACFLAGS and SVCFLAGS macros to remove MMAP, as this
#	appears not to work on that OS.
#
#	For Sun and Linux, you may need to include the "unistd.h" file.
#
#	For Solaris 2.x, you will probably need to uncomment the following
#	if you want to use the server/client operation. Also be prepared
#	for some complaining about pointer mismatches in routines like
#	`recv'. They can be ignored.
#
#LIBS= -lsocket -lnsl
#
#CC=gcc -g
all: xjdic_sa xjdic_cl xjdserver xjdxgen exjdxgen
client: xjdic_cl
server: xjdserver
stand: xjdic_sa
#
#	X J D X G E N
#
JDXOBJECTS = xjdxgen.o
xjdxgen: $(JDXOBJECTS)
	$(CC) $(JDXOBJECTS) -o xjdxgen
xjdxgen.o:	xjdxgen.c
	$(CC) -c xjdxgen.c
#
#	E X J D X G E N
#
EJDXOBJECTS = exjdxgen.o
exjdxgen: $(EJDXOBJECTS)
	$(CC) $(EJDXOBJECTS) -o exjdxgen
exjdxgen.o:	exjdxgen.c
	$(CC) -c exjdxgen.c
#
#	S T A N D _ A L O N E 
#
SAOBJECTS = xjdsa.o xjdcomm_sa.o xjdservcomm_sa.o xjdfrontend_sa.o
#SACFLAGS = -DXJDFRONTEND -DXJDDIC -DDEMAND_PAGING
SACFLAGS = -D__STRICT_BSD__ -DXJDFRONTEND -DXJDDIC -DMMAP ${CFLAGS}
#SACFLAGS = -DXJDFRONTEND -DXJDDIC -DRAM_LOAD
xjdic_sa: $(SAOBJECTS)
	$(CC) $(SAOBJECTS) -o xjdic_sa
xjdsa.o: xjdsa.c
	$(CC) -c $(SACFLAGS) xjdsa.c
xjdcomm_sa.o: xjdcomm.c
	$(CC) -c $(SACFLAGS) xjdcomm.c -o xjdcomm_sa.o
xjdservcomm_sa.o: xjdservcomm.c
	$(CC) -c $(SACFLAGS) xjdservcomm.c -o xjdservcomm_sa.o
xjdfrontend_sa.o: xjdfrontend.c
	$(CC) -c $(SACFLAGS) xjdfrontend.c -o xjdfrontend_sa.o
$(SAOBJECTS): xjdic.h
#
#	C L I E N T
#
CLOBJECTS = xjdclient.o xjdcomm_cl.o xjdfrontend_cl.o
CLCFLAGS = -D__STRICT_BSD__ -DXJDFRONTEND -DXJDCLSERV ${CFLAGS}
xjdic_cl: $(CLOBJECTS)
	$(CC) $(CLOBJECTS) $(LIBS) -o xjdic_cl
xjdclient.o: xjdclient.c
	$(CC) -c $(CLCFLAGS) xjdclient.c
xjdcomm_cl.o: xjdcomm.c
	$(CC) -c $(CLCFLAGS) xjdcomm.c -o xjdcomm_cl.o
xjdfrontend_cl.o: xjdfrontend.c
	$(CC) -c $(CLCFLAGS) xjdfrontend.c -o xjdfrontend_cl.o
$(CLOBJECTS): xjdic.h
#
#	S E R V E R
#
SVOBJECTS = xjdcomm_sv.o xjdservcomm_sv.o xjdserver.o
#SVCFLAGS = -DXJDDIC -DXJDCLSERV -DDEMAND_PAGING
SVCFLAGS = -DXJDDIC -DXJDCLSERV -DMMAP ${CFLAGS}
#SVCFLAGS = -DXJDDIC -DXJDCLSERV -DRAM_LOAD
xjdserver: $(SVOBJECTS)
	$(CC) $(SVOBJECTS) $(LIBS) -o xjdserver
xjdcomm_sv.o: xjdcomm.c
	$(CC) -c $(SVCFLAGS) xjdcomm.c -o xjdcomm_sv.o
xjdservcomm_sv.o: xjdservcomm.c
	$(CC) -c $(SVCFLAGS) xjdservcomm.c -o xjdservcomm_sv.o
xjdserver.o: xjdserver.c
	$(CC) -c $(SVCFLAGS) xjdserver.c 
$(SVOBJECTS): xjdic.h
#
clean:
	rm -f *.o
realclean: clean
	rm -f xjdic_sa xjdic_cl xjdserver xjdxgen exjdxgen
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 1, or (at your option)
#    any later version.
#
#    This program 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.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.     */


syntax highlighted by Code2HTML, v. 0.9.1