home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Unix System Administration Handbook 1997 October
/
usah_oct97.iso
/
news
/
nn.tar
/
nn-6.5.1
/
xmakefile
< prev
Wrap
Makefile
|
1996-08-17
|
8KB
|
282 lines
*
* DO NOT CHANGE THIS MAKEFILE DIRECTLY
*
* THERE ARE NO CONFIGURATION PARAMETERS IN THIS FILE
*
#include "config.h"
#undef global
#undef SHELL
#ifndef COMPILER_FLAGS
#define COMPILER_FLAGS
#endif
#ifndef EXTRA_LIB
#define EXTRA_LIB
#endif
#ifndef LOADER_FLAGS
#define LOADER_FLAGS
#endif
#ifndef NNTP
#undef NNTP_EXTRA_LIB
#endif
#ifndef NNTP_EXTRA_LIB
#define NNTP_EXTRA_LIB
#endif
* Symmetry style parallel make
#undef PARALLEL
#ifdef PARALLEL_MAKE
#define PARALLEL &
#else
#define PARALLEL
#endif
#ifdef HAVE_ROUTING
#define NNMAIL
#else
#define NNMAIL nnmail
#endif
#ifdef ACCOUNTING
#define ACCOUNT nnacct
#else
#ifdef AUTHORIZE
#define ACCOUNT nnacct
#else
#define ACCOUNT
#endif
#endif
------------------ MAKE WILL CUT HERE -------------
*
* Notice: ymakefile is made from xmakefile by the Makefile.
*
CC = COMPILER
CPP = PREPROC
LDFLAGS = LDEBUG LOADER_FLAGS EXTRA_LIB
CFLAGS = -Iconf COMPILER_FLAGS CDEBUG
*
* Resulting programs
*
BIN_PROG = nn NNMAIL nnusage nngrab nnstats ACCOUNT
BIN_LINK = nncheck nnadmin nntidy nngoback nngrep nnpost nnbatch nnview
LIB_PROG = aux upgrade_rc
#ifdef NOV
MASTER_PROG = back_act nnspew
#else
MASTER_PROG = nnmaster back_act nnspew
#endif
*
* Compilation
*
SHELL = /bin/sh
MASTER = master.o collect.o expire.o proto.o hostname.o \
global.o options.o active.o db.o nntp.o \
pack_date.o pack_name.o pack_subject.o news.o digest.o
NN = nn.o admin.o proto.o global.o options.o db.o nntp.o \
init.o variable.o term.o keymap.o macro.o regexp.o \
menu.o more.o newsrc.o group.o folder.o dir.o \
sort.o articles.o sequence.o kill.o active.o fullname.o \
answer.o reroute.o hostname.o save.o unshar.o decode.o execute.o \
pack_date.o pack_name.o pack_subject.o news.o digest.o match.o \
chset.o
#ifdef NOV
NOVOBJ = awksplit.o hash.o hdbm.o libnov.o split.o
#else
NOVOBJ =
#endif
ACCT = account.o global.o options.o proto.o hostname.o
MAIL = nnmail.o reroute.o hostname.o global.o options.o
all: $(BIN_PROG) $(LIB_PROG) $(MASTER_PROG) inst
client: $(BIN_PROG) $(LIB_PROG) inst
master: $(MASTER_PROG) inst
nn: PARALLEL $(NN) $(NOVOBJ)
@echo linking nn
@$(CC) -o nn $(CFLAGS) $(NN) $(NOVOBJ) $(LDFLAGS) TERMLIB NNTP_EXTRA_LIB
nnmaster: PARALLEL $(MASTER)
@echo linking nnmaster
@$(CC) -o nnmaster $(CFLAGS) $(MASTER) $(LDFLAGS) NNTP_EXTRA_LIB
nnmail: PARALLEL $(MAIL)
@echo linking nnmail
@$(CC) -o nnmail $(CFLAGS) $(MAIL) $(LDFLAGS)
nnstats: nnstats.sh prefix
cat prefix nnstats.sh > nnstats ; chmod +x nnstats
nnusage: nnusage.sh prefix
cat prefix nnusage.sh > nnusage ; chmod +x nnusage
nngrab: nngrab.sh prefix
cat prefix nngrab.sh > nngrab ; chmod +x nngrab
aux: aux.sh prefix
cat prefix aux.sh > aux ; chmod +x aux
upgrade_rc: upgrade_rc.sh prefix
cat prefix upgrade_rc.sh > upgrade_rc ; chmod +x upgrade_rc
nnacct: PARALLEL $(ACCT)
@echo linking nnacct
@$(CC) -o nnacct $(CFLAGS) $(ACCT) $(LDFLAGS)
back_act: back_act.sh prefix
cat prefix back_act.sh > back_act ; chmod +x back_act
nnspew: nnspew.sh prefix
cat prefix nnspew.sh > nnspew ; chmod +x nnspew
prefix: config.h mkprefix
./mkprefix prefix < /dev/null > prefix
mkprefix: PARALLEL prefix.o global.o
$(CC) -o mkprefix $(CFLAGS) prefix.o global.o $(LDFLAGS)
*
* Configuration counter updating
*
update.h: config.h patchlevel.h Makefile
@sh -c "[ -f update.h ] || (echo 0 > update.h)"
@sh -c "expr `cat update.h` + 1 > update1.h && mv update1.h update.h"
@echo configuration number updated to `cat update.h`
*
* Installation
*
cvt-help: PARALLEL config.h cvt-help.c
$(CC) -o cvt-help cvt-help.c $(LDFLAGS)
usercheck: PARALLEL config.h usercheck.c
$(CC) -o usercheck usercheck.c $(LDFLAGS)
inst: config.h xmakefile inst.sh cvt-help usercheck mkprefix man/nn.1
@echo building install script: ./inst
@./mkprefix full < /dev/null > inst
@echo BIN_PROG=\"$(BIN_PROG)\" >> inst
@echo BIN_LINK=\"$(BIN_LINK)\" >> inst
@echo LIB_PROG=\"$(LIB_PROG)\" >> inst
@echo MASTER_PROG=\"$(MASTER_PROG)\" >> inst
@cat inst.sh >> inst
@chmod 755 inst
* merge nn.1
man/nn.1: man/nn.1.A man/nn.1.B man/nn.1.C man/nn.1.D
-[ ! -f man/nn.1 ] || mv man/nn.1 man/nn.1~
cat man/nn.1.? > man/nn.1
*
* Clean -- remove compiled programs
*
clean:
rm -f $(BIN_PROG) $(LIB_PROG) $(MASTER_PROG) cvt-help usercheck
rm -f prefix mkprefix inst
rm -f man/nn.1 man/nn.1~
*
* dependencies
*
account.o: account.c config.h global.h vararg.h options.h proto.h \
account.h
active.o: active.c config.h global.h vararg.h data.h
admin.o: admin.c config.h global.h vararg.h data.h db.h nn_term.h \
proto.h
answer.o: answer.c config.h global.h vararg.h data.h news.h nn_term.h \
keymap.h options.h chset.h
articles.o: articles.c config.h global.h vararg.h data.h db.h articles.h
chset.o: chset.h
collect.o: collect.c config.h global.h vararg.h data.h db.h news.h
db.o: db.c config.h global.h vararg.h data.h db.h
decode.o: decode.c config.h global.h vararg.h data.h
digest.o: digest.c config.h global.h vararg.h data.h news.h debug.h
dir.o: dir.c config.h global.h vararg.h data.h articles.h dir.h
execute.o: execute.c config.h global.h vararg.h data.h nn_term.h
expire.o: expire.c config.h global.h vararg.h data.h db.h dir.h
folder.o: folder.c config.h global.h vararg.h data.h articles.h news.h \
nn_term.h menu.h
fullname.o: fullname.c config.h global.h
global.o: global.c config.h global.h vararg.h data.h \
patchlevel.h update.h
group.o: group.c config.h global.h vararg.h data.h articles.h db.h \
nn_term.h menu.h keymap.h regexp.h
hostname.o: hostname.c config.h
init.o: init.c config.h global.h vararg.h data.h articles.h nn_term.h \
keymap.h menu.h
keymap.o: keymap.c config.h global.h vararg.h data.h keymap.h nn_term.h
kill.o: kill.c config.h global.h vararg.h data.h nn_term.h regexp.h
macro.o: macro.c config.h global.h vararg.h data.h keymap.h nn_term.h
master.o: master.c config.h global.h vararg.h data.h db.h \
options.h proto.h
match.o: match.c config.h global.h regexp.h
menu.o: menu.c config.h global.h vararg.h data.h articles.h nn_term.h \
keymap.h menu.h regexp.h
more.o: more.c config.h global.h vararg.h data.h news.h nn_term.h \
menu.h keymap.h regexp.h
news.o: news.c config.h global.h vararg.h data.h news.h
nn.o: nn.c config.h global.h vararg.h data.h menu.h nn_term.h \
keymap.h options.h articles.h proto.h
nnmail.o: nnmail.c config.h global.h vararg.h data.h options.h
nntp.o: nntp.c config.h global.h vararg.h data.h nntp.h
options.o: options.c config.h global.h vararg.h data.h options.h
pack_date.o: pack_date.c config.h global.h vararg.h data.h
pack_name.o: pack_name.c config.h global.h vararg.h data.h
pack_subject.o: pack_subject.c config.h global.h vararg.h data.h
prefix.o: config.h global.h
proto.o: proto.c config.h global.h proto.h
newsrc.o: newsrc.c config.h global.h vararg.h data.h nn_term.h debug.h
regexp.o: regexp.c config.h global.h vararg.h data.h regexp.h
reroute.o: reroute.c config.h global.h vararg.h data.h
save.o: save.c config.h global.h vararg.h data.h nn_term.h keymap.h \
news.h
selection.o: selection.c config.h global.h vararg.h data.h nn_term.h \
articles.h
sequence.o: sequence.c config.h global.h vararg.h data.h debug.h
sort.o: sort.c config.h global.h vararg.h data.h
term.o: term.c config.h global.h vararg.h data.h nn_term.h keymap.h
unshar.o: unshar.c config.h global.h vararg.h data.h
variable.o: variable.c config.h global.h vararg.h data.h
awksplit.o: awksplit.c
hash.o: hash.c hdbm.h hash.h hashint.h
hdbm.o: hdbm.c hdbm.h hdbmint.h
libnov.o: libnov.c hash.h hdbm.h newsoverview.h
split.o: split.c
* link debugging version
nn1: $(NN)
$(CC) -o nn1 -Mnn1 $(CFLAGS) $(NN) $(LDFLAGS) TERMLIB NNTP_EXTRA_LIB
nnmaster1: $(MASTER)
$(CC) -o nnmaster1 -Mnnmaster1 $(CFLAGS) $(MASTER) $(LDFLAGS) NNTP_EXTRA_LIB
lint:
echo LINTING NN
lint -Iconf -u $(NN:.o=.c)
echo LINTING MASTER
* lint -Iconf -u -DNNTP $(MASTER:.o=.c)