1XCOMM $XFree86: xc/config/cf/cross.rules,v 1.7 2002/04/04 14:05:33 eich Exp $
2
3#ifndef HostCcCmd
4#define HostCcCmd cc
5#endif
6
7#define HostLinkRule(target,flags,objs,libs)  HostCcCmd -I$(BUILDINCDIR) -o target flags objs libs
8
9/* ComplexHostProgramTarget - Compile a program such that we can run
10 * it on this host, i.e., don't use the default cross compiler.
11 */
12#ifndef ComplexHostProgramTarget
13#define	ComplexHostProgramTarget(program)				@@\
14              CC=HostCcCmd							@@\
15    STD_INCLUDES=							@@\
16          CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\	@@\
17		$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES)	@@\
18EXTRA_LOAD_FLAGS=							@@\
19        PROGRAM = program						@@\
20									@@\
21AllTarget(HostProgramTargetName(program))				@@\
22									@@\
23HostProgramTargetName(program): $(OBJS) $(DEPLIBS)			@@\
24	RemoveTargetProgram($@)						@@\
25	HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
26									@@\
27DependTarget()								@@\
28									@@\
29LintTarget()								@@\
30									@@\
31clean::									@@\
32	RemoveFile(HostProgramTargetName(program))
33#endif /* ComplexHostProgramTarget */
34
35
36#ifndef SimpleHostProgramTarget
37#define SimpleHostProgramTarget(program)				@@\
38           SRCS = program.c						@@\
39									@@\
40              CC=HostCcCmd					@@\
41    STD_INCLUDES=							@@\
42          CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\	@@\
43		$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES)	@@\
44EXTRA_LOAD_FLAGS=							@@\
45        PROGRAM = program						@@\
46									@@\
47AllTarget(HostProgramTargetName(program))				@@\
48									@@\
49HostProgramTargetName(program): program.o $(DEPLIBS)			@@\
50	RemoveTargetProgram($@)						@@\
51	HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
52									@@\
53DependTarget()								@@\
54									@@\
55LintTarget()								@@\
56									@@\
57clean::									@@\
58	RemoveFile(HostProgramTargetName(program))
59#endif /* SimpleHostProgramTarget */
60
61#ifndef SimpleHostProgramTarget_1
62#define SimpleHostProgramTarget_1(program)				@@\
63           SRCS = program.c						@@\
64									@@\
65              CC=HostCcCmd						@@\
66    STD_INCLUDES=							@@\
67          CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\	@@\
68		$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES)	@@\
69EXTRA_LOAD_FLAGS=							@@\
70        PROGRAM = program						@@\
71									@@\
72AllTarget(HostProgramTargetName(program))				@@\
73									@@\
74HostProgramTargetName(program): program.o $(DEPLIBS)			@@\
75	RemoveTargetProgram($@)						@@\
76	HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
77									@@\
78DependTarget()								@@\
79LintTarget()								@@\
80									@@\
81clean::									@@\
82	RemoveFile(HostProgramTargetName(program))
83#endif /* SimpleHostProgramTarget_1 */
84
85
86#ifndef SimpleHostProgramTarget_2
87#define SimpleHostProgramTarget_2(program)				@@\
88           SRCS = program.c						@@\
89									@@\
90              CC=HostCcCmd						@@\
91    STD_INCLUDES=							@@\
92          CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\	@@\
93		$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES)	@@\
94EXTRA_LOAD_FLAGS=							@@\
95        PROGRAM = program						@@\
96									@@\
97AllTarget(HostProgramTargetName(program))				@@\
98									@@\
99HostProgramTargetName(program): program.o $(DEPLIBS)			@@\
100	RemoveTargetProgram($@)						@@\
101	HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
102									@@\
103clean::									@@\
104	RemoveFile(HostProgramTargetName(program))
105#endif /* SimpleHostProgramTarget_2 */
106
107#ifndef SimpleHostProgramTarget_3
108#define SimpleHostProgramTarget_3(program)				@@\
109           SRCS = program.c						@@\
110									@@\
111              CC=HostCcCmd						@@\
112    STD_INCLUDES=							@@\
113          CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\	@@\
114		$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES)	@@\
115EXTRA_LOAD_FLAGS=							@@\
116        PROGRAM = program						@@\
117									@@\
118AllTarget(HostProgramTargetName(program))				@@\
119									@@\
120HostProgramTargetName(program): program.o $(DEPLIBS)			@@\
121	RemoveTargetProgram($@)						@@\
122	HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
123									@@\
124clean::									@@\
125	RemoveFile(HostProgramTargetName(program))
126#endif /* SimpleHostProgramTarget_3 */
127
128#ifndef SimpleHostProgramTarget_4
129#define SimpleHostProgramTarget_4(program)				@@\
130           SRCS = program.c						@@\
131									@@\
132              CC=HostCcCmd						@@\
133    STD_INCLUDES=							@@\
134          CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\	@@\
135		$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES)	@@\
136EXTRA_LOAD_FLAGS=							@@\
137        PROGRAM = program						@@\
138									@@\
139AllTarget(HostProgramTargetName(program))				@@\
140									@@\
141HostProgramTargetName(program): program.o $(DEPLIBS)			@@\
142	RemoveTargetProgram($@)						@@\
143	HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
144									@@\
145clean::									@@\
146	RemoveFile(HostProgramTargetName(program))
147#endif /* SimpleHostProgramTarget_4 */
148