1# -*- sh -*-
2
3# C compiler and C flags
4CC = @CC@
5CFLAGS = @CFLAGS@ @X_CFLAGS@
6LDFLAGS = @LDFLAGS@
7
8#---------------------------------------------------------------------------
9# Installation information.  All jed library files will be placed under
10# $JED_ROOT.  /usr/local/jed is a good choice.  For a private installation,
11# use, e.g., $(HOME)/src/jed
12#---------------------------------------------------------------------------
13prefix = @prefix@
14exec_prefix = @exec_prefix@
15#JED_ROOT = $(HOME)/src/jed# <--- make sure # is at end of file!!
16#JED_ROOT = $(prefix)/jed# <--- make sure # is at end of file!!
17JED_ROOT = @JED_ROOT@# <--- make sure # is at end of file!!
18BIN_DIR = @bindir@
19MAN_DIR = @mandir@/man1
20INSTALL		= @INSTALL@
21INSTALL_DATA	= @INSTALL_DATA@
22MKINSDIR = ../autoconf/mkinsdir.sh
23JED_LIB_FILES = ../lib/*.sl ../lib/*.dat ../lib/*.hlp ../lib/jed.rc
24JED_DOC_FILES = ../doc/*.txt ../doc/README ../doc/jed.tex
25
26#---------------------------------------------------------------------------
27# Location of jed source code
28#---------------------------------------------------------------------------
29# Location of jed source code (absolute path)
30SRCDIR = @SRCDIR@
31
32# Location of compiled object code (absolute path)
33OBJDIR = @OBJDIR@
34
35#---------------------------------------------------------------------------
36# Special features (See also features.h)
37#---------------------------------------------------------------------------
38# 1. Linux GPM Mouse support
39#    Uncomment next FOUR lines for GPM mouse support
40#MOUSEFLAGS = -DUSE_GPM_MOUSE
41#MOUSELIB = -lgpm
42#GPMMOUSEO = gpmmouse.o
43#OBJGPMMOUSEO = $(OBJDIR)/$(GPMMOUSEO)
44
45#---------------------------------------------------------------------------
46# S-Lang library location
47#---------------------------------------------------------------------------
48# -L + Location of libslang.a
49SLANG_LIB = @SLANG_LIB@
50
51# -I + Location of slang.h
52SLANG_INC = @SLANG_INC@
53
54#---------------------------------------------------------------------------
55# CANNA library location
56#---------------------------------------------------------------------------
57# Location of libcanna.a
58CANNA_LIB_DIR = @CANNA_LIB_DIR@
59CANNA_LIBRARY = @CANNA_LIBRARY@
60
61# Location of jrkanji.h
62CANNA_INCLUDE = @CANNA_INCLUDE@
63
64CANNA_DEFINE = @CANNA_DEFINE@
65
66#---------------------------------------------------------------------------
67# X and Miscellaneous libraries
68#---------------------------------------------------------------------------
69# Some systems need -ltermcap (NeXT)
70TERMCAP_LIB = @TERMCAP@
71
72# X library location
73XLIBDIR = @X_LIBS@
74
75# X Include directory
76XINCLUDE = @X_CFLAGS@
77
78# Extra libraries needed by X some systems
79X_XTRA_LIBS = @X_EXTRA_LIBS@
80
81#---------------------------------------------------------------------------
82# There should be no need to modify anything below here.
83#---------------------------------------------------------------------------
84
85MIN_SLANG_VERSION = 10307
86MAX_SLANG_VERSION =
87XLIB = $(X_XTRA_LIBS) $(XLIBDIR) -lX11 $(TERMCAP_LIB)
88MISCLIBS = $(MOUSELIB) $(TERMCAP_LIB)
89CANNALIB = $(CANNA_LIB_DIR) $(CANNA_LIBRARY)
90
91ALL_CFLAGS = $(CFLAGS) -Dunix -DJED $(CANNA_DEFINE) $(MOUSEFLAGS) $(SLANG_INC) $(CANNA_INCLUDE)
92COMPILE_CMD = \
93 $(CC) -c $(ALL_CFLAGS) $(XINCLUDE) -DJED_ROOT='"$(JED_ROOT)"'
94
95CONFIG_H = config.h
96
97OBJS = @PROGRAM_OBJECTS@
98OFILES = @PROGRAM_OFILES@
99
100EXEC_LIBS = $(LDFLAGS) $(SLANG_LIB) -lslang $(MISCLIBS) -lm
101
102jprocess_O_DEP = $(SRCDIR)/pty.c
103
104all: jed rgrep
105
106
107jed: $(OBJDIR) $(CONFIG_H) $(OBJDIR)/jed
108	@echo jed created in $(OBJDIR)
109$(OBJDIR)/jed: $(OBJS) $(OBJDIR)/display.o $(OBJGPMMOUSEO)
110	cd $(OBJDIR); $(CC) $(OFILES) display.o $(GPMMOUSEO) \
111           -o jed $(LDFLAGS) $(SLANG_LIB) -lslang $(MISCLIBS) -lm \
112	   $(CANNALIB)
113
114slangversion: $(OBJDIR)/chkslang
115	if $(OBJDIR)/chkslang jed $(MIN_SLANG_VERSION) $(MAX_SLANG_VERSION) J0607;\
116	then exit 0; else $(RM) $(OBJDIR)/chkslang; exit 1; fi
117
118$(OBJDIR)/chkslang: config.h Makefile chkslang.c $(DOT_O_DEPS) $(chkslang_O_DEP)
119	$(CC) $(ALL_CFLAGS) $(SRCDIR)/chkslang.c -o $(OBJDIR)/chkslang $(EXEC_LIBS)
120
121
122$(OBJDIR):
123	-mkdir $(OBJDIR)
124
125$(CONFIG_H) : $(SRCDIR)/sysconf.h
126	/bin/cp $(SRCDIR)/sysconf.h $(CONFIG_H)
127
128$(SRCDIR)/sysdep.c: $(SRCDIR)/unix.c
129	touch $(SRCDIR)/sysdep.c
130$(SRCDIR)/xterm.c: $(SRCDIR)/xkeys.c
131	touch $(SRCDIR)/xterm.c
132$(SRCDIR)/syntax.c: $(SRCDIR)/dfasyntx.c
133	touch $(SRCDIR)/syntax.c
134#
135xjed : $(OBJDIR) $(CONFIG_H) $(OBJDIR)/xjed
136	@echo xjed created in $(OBJDIR)
137$(OBJDIR)/xjed : $(OBJS) $(OBJDIR)/xterm.o $(OBJDIR)/vterm.o
138	cd $(OBJDIR); \
139	$(CC) $(OFILES) xterm.o vterm.o -o xjed $(LDFLAGS) \
140	   $(SLANG_LIB) -lslang  $(XLIB) -lm $(CANNALIB)
141#
142rgrep: $(OBJDIR)/rgrep
143	@echo rgrep created in $(OBJDIR)
144$(OBJDIR)/rgrep: $(OBJDIR)/vfile.o $(OBJDIR)/rgrep.o
145	cd $(OBJDIR); $(CC) vfile.o rgrep.o -o rgrep $(LDFLAGS) $(SLANG_LIB) -lslang -lncurses -lm
146#
147getmail: $(OBJDIR)/getmail
148	@echo getmail created in $(OBJDIR)
149$(OBJDIR)/getmail: $(OBJDIR)/getmail.o
150	cd $(OBJDIR); $(CC) getmail.o -o getmail $(LDFLAGS)
151#---------------------------------------------------------------------------
152clean:
153	/bin/rm -f $(OBJDIR)/* *~
154distclean: clean
155	/bin/rm -rf $(OBJDIR) Makefile sysconf.h
156
157install_directories:
158	$(MKINSDIR) $(BIN_DIR)
159	$(MKINSDIR) $(JED_ROOT)
160	$(MKINSDIR) $(JED_ROOT)/bin
161	$(MKINSDIR) $(JED_ROOT)/info
162	$(MKINSDIR) $(JED_ROOT)/doc
163	$(MKINSDIR) $(JED_ROOT)/lib
164	$(MKINSDIR) $(JED_ROOT)/lib/colors
165	$(MKINSDIR) $(JED_ROOT)/lib/tm
166
167install: all install_directories
168	$(INSTALL) $(OBJDIR)/jed $(BIN_DIR)/
169	-$(INSTALL) $(OBJDIR)/xjed $(BIN_DIR)/
170	-$(INSTALL) $(OBJDIR)/rgrep $(BIN_DIR)/
171	-$(INSTALL) $(OBJDIR)/getmail $(JED_ROOT)/bin/
172	-$(INSTALL_DATA) ../doc/rgrep.1 ../doc/jed.1 $(MAN_DIR)/
173	$(INSTALL_DATA) $(JED_LIB_FILES) $(JED_ROOT)/lib
174	$(INSTALL_DATA) ../lib/colors/* $(JED_ROOT)/lib/colors
175	-$(INSTALL_DATA) ../lib/tm/*.tm $(JED_ROOT)/lib/tm
176	-$(INSTALL_DATA) $(JED_DOC_FILES) $(JED_ROOT)/doc
177	-$(INSTALL_DATA) ../info/* $(JED_ROOT)/info
178
179# The symlinks target is for my own private use.  It simply creates the object
180# directory as a symbolic link to a local disk instead of an NFS mounted one.
181symlinks:
182	-/bin/rm -f $(ARCH)objs
183	mkdir -p $(HOME)/sys/$(ARCH)/objs/jed/src
184	ln -s $(HOME)/sys/$(ARCH)/objs/jed/src $(ARCH)objs
185#---------------------------------------------------------------------------
186# Rules (automatically generated)
187#---------------------------------------------------------------------------
188