]> git.neil.brown.name Git - TABS.git/blob - MakeCommon
Terminal Alocation and Booking System - June 2006
[TABS.git] / MakeCommon
1
2 # Common stuff to be included only once.
3 HaveCommon = yes
4
5 clean : cleandirs
6         rm -f $(toclean)
7
8 cleandirs :
9         rm -f $(addsuffix *.[od],$(tocleandirs))
10
11 %_svc.c: %.x %.h
12         rpcgen -m $< | sed 's,include ".*/,include ",' > $@
13 %_xdr.c: %.x %.h
14         rpcgen -c $< | sed -e 's,include ".*/,include ",' -e '/int32_t .buf/s/$$/ (void)buf;/'>  $@
15 %_clnt.c: %.x %.h
16         rpcgen -l $< | sed 's,include ".*/,include ",' >  $@
17 %.h : %.x
18         rpcgen -h $< > $@
19
20 %_svc.o: %_svc.c %.h
21 %_xdr.o: %_svc.c %.h
22 %_clnt.o: %_svc.c %.h
23
24 %.o : %.c %.c-dep
25
26 %.d: %
27         @mkdir -p $(dir $@)
28         @{ \
29           echo -n $<-dep' : ' ; \
30           sed -n -e 's,^#include.*"\(.*\)".*,$(dir $@)\1 $(dir $@)\1-dep,p' $< | tr '\012' ' ' ; \
31           echo ; \
32           echo -n '-include ' ; \
33           sed -n -e 's,^#include.*"\(.*\)".*,$(dir $@)\1.d,p' $< | tr '\012' ' ' ; \
34           echo ; \
35         } | sed -e 's,[^ /]*/\.\./,,g' > $@
36
37
38 CFLAGS=-Wall -Werror -ggdb
39 CPPFLAGS= -DUSE_SIGACTION -DSIGRTN=void -I$(subst ../,,$(dir $<)) -D_GNU_SOURCE
40 LDLIBS = -lgdbm -lcrypt -lnsl -lcurses -ltermcap
41
42 %/ : FORCE
43         mkdir -p $@
44
45
46 .PHONY: FORCE
47 FORCE:
48 .SECONDARY: