summaryrefslogtreecommitdiff
path: root/os2.rules
blob: a5f26aca0cde8693e653154d5c36bcd577cca579 (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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
XCOMM $Xorg: os2.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $



XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.23tsi Exp $

.SUFFIXES: .Osuf .c .CCsuf

.c.Osuf:
	$(CC) $(CFLAGS) -c $*.c

#if HasCplusplus
.CCsuf.Osuf:
	$(CXX) $(CFLAGS) -c $*.CCsuf
#endif

#ifndef UseInstalled
#define XkbComp /xkbcomp
#else
#define XkbComp xkbcomp
#endif

/*
 * same problem as with cygwin...
 * DependDependencyStatement - Imake.rules wraps $(DEPEND) in
 * ProgramTargetName(), which causes cross compiling to think that
 * $(DEPEND) hasn't been built, as $(DEPEND) is a host tool, and should
 * not be wrapped with ProgramTargetName().  Perhaps there should be
 * a HostProgramTargetName()...
 */
#ifndef DependDependencyStatement
#define DependDependencyStatement()                                     @@\
depend:: $(DEPEND)
#endif
	DEPEND2 = $(SHELL) $(DEPEND)

/*
 * DependDependency - Imake.rules wraps $(DEPEND) in ProgramTargetName().
 * This doesn't work when cross compiling, see the locally defined
 * DependDependencyStatement comment (above) for more information.
 */

#ifndef DependDependency
#ifdef UseInstalled
#define DependDependency() /**/
#else
#define DependDependency()						@@\
DependDependencyStatement()						@@\
									@@\
NoCmpScript($(DEPEND))							@@\
									@@\
$(DEPEND):								@@\
	@echo "checking $@ over in $(DEPENDSRC) first..."; \		@@\
	cd $(DEPENDSRC) && $(MAKE) makedependonly; \			@@\
	echo "okay, continuing in $(CURRENT_DIR)"

#endif /* UseInstalled */
#endif /* DependDependency */

/*
 * HostLinkRule - link a utility to be used on the build host
 * (differs from LinkRule if cross compiling)
 */
#ifndef HostLinkRule
#define HostLinkRule(program,options,objects,libraries) \
$(CCLINK) -Zmtd -o program options objects libraries $(EXTRA_LOAD_FLAGS)
#endif

#ifndef DependTarget
#define	DependTarget()							@@\
DependDependency()							@@\
									@@\
depend::								@@\
	$(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)
#endif /* DependTarget */

/*
 * DependTarget3 - generate rules to compute dependencies for all files given.
 */
#ifndef DependTarget3
#define	DependTarget3(srcs1,srcs2,srcs3)				@@\
DependDependency()							@@\
									@@\
depend::								@@\
	$(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1	@@\
	$(SHELL) $(DEPEND) -a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs2	@@\
	$(SHELL) $(DEPEND) -a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs3
#endif /* DependTarget3 */

#ifdef UseInstalled
#define RmanDependency() /**/
#else
#define RmanDependency()						@@\
NoCmpScript(ProgramTargetName($(RMAN)))					@@\
									@@\
ProgramTargetName($(RMAN)):						@@\
	@echo "checking $@ over in $(TOP)/config/util first..."; \	@@\
	echo "okay, continuing in $(CURRENT_DIR)"

#endif /* UseInstalled */

#define MakeXkbDir(basedir,subdir)					@@\
all::   Concat(subdir,.dir)						@@\
									@@\
Concat(subdir,.dir):							@@\
	RemoveFile(Concat(subdir,.dir))					@@\
	XkbComp -lfhlpR -o Concat(subdir,.dir) *			@@\
									@@\
InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir)	@@\
									@@\
clean::									@@\
	RemoveFile(Concat(subdir,.dir))