summaryrefslogtreecommitdiff
path: root/xc/config/cf/Ixx.tmpl
blob: 2bbe94dd3601cadfe9204c393d9671f409084f3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
XCOMM $XConsortium: Ixx.tmpl,v 1.4 94/03/28 11:33:55 matt Exp $
XCOMM
XCOMM Definitions for using interface translator
XCOMM

#ifdef UseInstalled
#define IxCmd ixx
#else
#define IxCmd $(CONTRIBSRC)/programs/ixx/ixx
#endif

#ifndef IXFlags
#define IXFlags \
-s BaseObject -m TypeObj -r RequestObj -stubclass Stub -p Xf $(EXTRA_IXFLAGS)
#endif

#ifndef IXIncludes
#define IXIncludes -i '<X11/Fresco/_enter.h>'
#endif

IX = IxCmd
IXFLAGS = IXFlags
IXINCLUDES = IXIncludes

.SUFFIXES: .idl

#ifndef MakeIDLHeader
#define MakeIDLHeader(name_idl,name_h,flags)				@@\
headers:: name_h							@@\
name_h: name_idl							@@\
	@$(RM) name_h ix-name_h						@@\
	@echo "Generating name_h from name_idl"				@@\
	@$(CPP) $(CXXDEFINES) $(CXXINCLUDES) name_idl | \		@@\
	    $(IX) $(IXFLAGS) $(IXINCLUDES) flags > ix-name_h		@@\
	@$(MV) ix-name_h name_h						@@\
	@chmod a-w name_h						@@\
									@@\
clean_headers::								@@\
	@$(RM) name_h
#endif

#ifndef MakeHeader
#define MakeHeader(name) \
MakeIDLHeader(Interfaces/name.idl,name.h,NullParameter)
#endif

#ifndef MakeHeaderFlags
#define MakeHeaderFlags(name,flags) \
MakeIDLHeader(Interfaces/name.idl,name.h,-file Interfaces/name.idl flags)
#endif

#ifndef EditImplName
#define EditImplName(dep,name,interfaces,tmp)				@@\
all.sed:: dep								@@\
dep:: interfaces							@@\
	@$(RM) tmp							@@\
	@echo "Editing" name						@@\
	@cat interfaces | $(CPP) $(CXXDEFINES) $(CXXINCLUDES) | \	@@\
	$(IX) $(IXFLAGS) -filter name > tmp				@@\
	@$(MV) tmp name
#endif

.SUFFIXES: .sed

#ifndef EditImpl
#define EditImpl(name,interfaces) \
EditImplName(name.sed,name.CCsuf,interfaces,new-name.CCsuf)
#endif

#ifndef EditImplHeader
#define EditImplHeader(name,interfaces) \
EditImplName(name.sed,name.h,interfaces,new-name.h)
#endif

INTERFACES_SLASH = /
INTERFACES = Interfaces$(INTERFACES_SLASH)*.idl

#ifndef DependHeaders
#define DependHeaders()                                                 @@\
depend::                                                                @@\
	$(DEPEND) -o.h -s "# DO NOT DELETE" -- $(CXXINCLUDES) -- \
	    $(INTERFACES)
#endif