1# $Id: makefile.in,v 1.33 2018/04/01 19:12:36 tom Exp $
2# Makefile-template for 'add'
3
4THIS		= add
5RELEASE		= t20180401
6SCREEN		= curses
7
8#### Start of system configuration section. ####
9
10srcdir		= @srcdir@
11VPATH		= @srcdir@
12
13transform	= @program_transform_name@
14ACTUAL		= `echo $(THIS)|sed '$(transform)'`
15
16prefix		= @prefix@
17exec_prefix	= @exec_prefix@
18
19datarootdir	= @datarootdir@
20bindir		= @bindir@
21datadir		= @datadir@
22mandir		= @mandir@
23manext		= 1
24
25BINDIR		= $(DESTDIR)$(bindir)
26DATADIR		= $(DESTDIR)$(datadir)
27MANDIR		= $(DESTDIR)$(mandir)/man$(manext)
28
29CC		= @CC@
30LINK		= $(CC)
31INSTALL		= @INSTALL@
32INSTALL_PROGRAM	= @INSTALL_PROGRAM@
33INSTALL_SCRIPT	= @INSTALL_SCRIPT@
34INSTALL_DATA	= @INSTALL_DATA@
35
36CTAGS		= @CTAGS@
37ETAGS		= @ETAGS@
38LINT		= @LINT@
39
40LIBS		= @LIBS@
41CPPFLAGS	= @CPPFLAGS@ -DHAVE_CONFIG_H -DRELEASE=\"$(RELEASE)\" -DADD_HELPFILE=\"@prefix@/share/add/$(ACTUAL).hlp\" -I. -I$(srcdir)
42CFLAGS		= @CFLAGS@ @EXTRA_CFLAGS@
43LDFLAGS		= @LDFLAGS@
44
45x		= @EXEEXT@
46
47#### End of system configuration section. ####
48
49SHELL		= /bin/sh
50
51.c.o:
52	@RULE_CC@
53	@ECHO_CC@$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
54
55OBJ = $(THIS).o $(SCREEN).o
56
57PROG	= $(THIS)$x
58
59all:	$(PROG)
60
61$(PROG): $(OBJ)
62	@ECHO_LD@$(LINK) $(CFLAGS) $(LDFLAGS) -o $(PROG) $(OBJ) $(LIBS)
63
64$(OBJ): $(THIS).h screen.h
65
66DIRS = $(BINDIR) $(DATADIR) $(MANDIR)
67
68install: $(PROG) $(DIRS)
69	$(INSTALL_PROGRAM) $(PROG) $(BINDIR)/$(ACTUAL)$x
70	$(SHELL) $(srcdir)/rename.sh $(srcdir)/xterm.sh    $(ACTUAL) $(BINDIR)/x+ $(INSTALL_SCRIPT)
71	$(SHELL) $(srcdir)/rename.sh $(srcdir)/$(THIS).hlp $(ACTUAL) $(DATADIR)/$(ACTUAL).hlp $(INSTALL_PROGRAM)
72	$(SHELL) $(srcdir)/rename.sh $(srcdir)/$(THIS).1   $(ACTUAL) $(MANDIR)/$(ACTUAL).$(manext) $(INSTALL_DATA)
73
74$(DIRS):
75	mkdir -p $@
76
77uninstall:
78	rm -f $(BINDIR)/$(ACTUAL)$x
79	rm -f $(BINDIR)/x+
80	rm -f $(DATADIR)/$(ACTUAL).hlp
81	rm -f $(MANDIR)/$(ACTUAL).$(manext)
82
83mostlyclean ::
84	rm -f *.o core *~ *.BAK *.trace *.atac
85
86clean :: mostlyclean
87	rm -f $(PROG)
88
89distclean :: clean
90	rm -f makefile config.log config.cache config.status config.h man2html.tmp
91	rm -f tags TAGS
92
93realclean :: distclean
94	@-
95
96tags:
97	$(CTAGS) $(THIS).c $(SCREEN).c $(HDRS)
98
99@MAKE_UPPER_TAGS@TAGS:
100@MAKE_UPPER_TAGS@	$(ETAGS) $(THIS).c $(SCREEN).c $(HDRS)
101
102lint:
103	$(LINT) $(LINTOPTS) $(CPPFLAGS) $(THIS).c $(SCREEN).c
104
105# I keep my sources in RCS, and assign a symbolic release to the current patch
106# level.  The 'manifest' script knows how to build a list of files for a given
107# revision.
108MANIFEST:
109	manifest -r$(RELEASE) \
110		$(THIS).man testing/case*.dcl testing/case*.bat
111
112dist: MANIFEST
113	- rm -f .fname .files
114	echo $(THIS)-$(RELEASE) >.fname
115	cat MANIFEST | grep ' ' | egrep -v ' subdirectory$$' | sed -e 's/\ .*//' | uniq >.files
116	rm -rf `cat .fname`
117	TOP=`cat .fname`; mkdir $$TOP `cat .files | grep / | sed -e 's@/.*@@' | sed -e s@\^@$$TOP/@ | uniq`
118	for file in `cat .files`; do \
119	  ln $(srcdir)/$$file `cat .fname`/$$file \
120	    || { echo copying $$file instead; cp $$file `cat .fname`/$$file; }; \
121	done
122	tar cf - `cat .fname` | gzip >`cat .fname`.tgz
123	rm -rf `cat .fname` .fname .files
124	ls -l *.tgz
125
126# Some of the output will be uuencoded because the test scripts include
127# <CR><LF> terminated ".bat" files for MS-DOS.
128dist-shar: MANIFEST
129	- rm -f .fname .files
130	echo $(THIS)-$(RELEASE) >.fname
131	cat MANIFEST | grep ' ' | egrep -v ' subdirectory$$' | sed -e 's/\ .*//' | uniq >.files
132	shar -M -n`cat .fname` -opart -l50 `cat .files`
133	- rm -f .fname .files
134	ls -l part.*
135
136$(THIS).o:	config.h
137
138check: $(PROG)
139	cd testing; sh ./run_test.sh
140