|
|
1.1 root 1: #
2: # Makefile template for use by driverkit-based driver projects.
3: #
4:
5: MAKEFILEDIR = $(MAKEFILEPATH)/pb_makefiles
6: include $(MAKEFILEDIR)/platform.make
7:
8: BUILD_NAME= myDriver
9:
10: #
11: # Destination of installed binaries and headers.
12: #
13: INSTALL_BIN_DIR=
14: INSTALL_HDR_DIR=
15:
16: #
17: # Destination of installed headers.
18: #
19: HEADER_DIR=$(SYSTEM_LIBRARY_DIR)/Frameworks/System.framework/Headers/drivers/
20:
21: #
22: # Options to install.
23: #
24: INSTALLFLAGS=
25:
26: #
27: # Define target architectures.
28: # MACHINE_LIST is the list of architectures to be build for during "make all"
29: # and "make install" if RC_ARCHS is not specified in the Make command
30: # line and RC_ARCHS_LOCAL is not specified in this Makefile.
31: # RC_ARCHS_LOCAL, if specified, overrides RC_ARCHS. This allows builds
32: # to be limited to a particular architecture in case of fat RC
33: # builds.
34: # TARGET_LIST specifies the types of build to be performed during
35: # "make all" and "make install".
36: # MACHINE and 'first' specify the architecture and type of build for a default
37: # 'make' with no arguments.
38: # INSTALL_TARGETS and INSTALL_MACHINES specify the actual target and machine
39: # combinations installed in INSTALL_DIR by the 'make install' target.
40: #
41: # Note that INSTALL_TARGETS and INSTALL_MACHINES must be subsets of
42: # TARGET_LIST and MACHINE_LIST, respectively. Either one (or both)
43: # can be null, resulting in no installation.
44: #
45: # Possible values of 'first', TARGET_LIST, and INSTALL_TARGETS are:
46: #
47: # release -- user executable
48: # debug -- user executable, DEBUG
49: # relocrelease -- kern-loadable
50: # relocdebug -- kern_loadable, DEBUG
51: #
52: MACHINE_LIST= m88k
53: TARGET_LIST= debug
54: MACHINE= m88k
55: INSTALL_TARGETS=
56: INSTALL_MACHINES=
57: first: debug
58:
59: #
60: # Define machine-dependent subdirectories. Leave commented out if none.
61: #
62: #SOURCE_SUBDIRS=
63:
64: #
65: # Optional CFLAGS for cc runs.
66: #
67: #DEBUG_CFLAGS=
68: #RELEASE_CFLAGS=
69: #
70: # These are for local build within the driverkit project...
71: #
72: DEBUG_CFLAGS= -I../../..
73: RELEASE_CFLAGS= -I../../..
74:
75: #
76: # Specify LD and *_LDFLAGS for either executable or relocatable.
77: #
78: # For generating relocatable .o:
79: #
80: #LD= /bin/ld
81: #DEBUG_LDFLAGS= -r
82: #RELEASE_LDFLAGS= -r
83:
84: #
85: # For generating executable:
86: #
87: LD= /bin/cc
88: DEBUG_LDFLAGS=
89: RELEASE_LDFLAGS=
90:
91: #
92: # Options to kl_ld for generating kern-loadable.
93: #
94: KL_DEBUG_FLAGS=
95: KL_RELEASE_FLAGS=
96:
97: #
98: # Specify name of load_commands and unload_commands text files for
99: # kern-loadable module.
100: #
101: LOAD_COMMANDS=
102: UNLOAD_COMMANDS=
103:
104: #
105: # Define these for generating a kern_loadable relocatable.
106: #
107: SERVER_NAME=
108: KS_VAR_NAME=
109:
110: OTHER_DEPENDS=
111:
112: #
113: # Additional files to be cleaned.
114: #
115: OTHER_CLEAN_FILES=
116:
117: #
118: # Specify the source files common to all machines.
119: #
120: COMMON_MFILES= kl_com.m
121: COMMON_CFILES= myDriver.c myHandlerUser.c
122: COMMON_PUBLIC_HFILES=
123: COMMON_PRIVATE_HFILES= kl_com.h
124:
125: #
126: # one set of source files sharing a common name in the machine-dependent
127: # build directories.
128: #
129: MACHINE_COMMON_CFILES=
130: MACHINE_COMMON_MFILES=
131:
132: #
133: # optionally, additional source files specific to each machine.
134: #
135: # 88k specific...
136: m88k_CFILES=
137: m88k_MFILES=
138: # 68k specific...
139: m68k_CFILES=
140: m68k_MFILES=
141: # i386 specific...
142: i386_CFILES=
143: i386_MFILES=
144:
145: #
146: # User, kernel, and kern-loadable specific source.
147: #
148: USER_MFILES=
149: USER_CFILES=
150: KERNEL_MFILES=
151: KERNEL_CFILES=
152: LOADABLE_MFILES=
153: LOADABLE_CFILES=
154:
155: MIG_DERIVED= myHandlerUser.c
156:
157: OTHER_DEPENDS= $(OBJROOT)/$(BUILD_DIR)/$(MIG_DERIVED)
158:
159: MIG_SOURCE= myHandler.defs
160:
161: #
162: # Copy the mig source down the the build directory...
163: #
164: $(OBJROOT)/$(BUILD_DIR)/$(MIG_DERIVED): ../Kernel/$(MIG_SOURCE)
165: rm -f $(OBJROOT)/$(BUILD_DIR)/$(MIG_DERIVED) \
166: $(OBJROOT)/$(BUILD_DIR)/$(MIG_SOURCE)
167: cp ../Kernel/$(MIG_SOURCE) $(OBJROOT)/$(BUILD_DIR)
168: (cd $(OBJROOT)/$(BUILD_DIR); \
169: mig $(MIG_SOURCE) -user $(MIG_DERIVED) \
170: -sheader /dev/null -handler /dev/null)
171:
172:
173: #
174: # Other files to installsrc.
175: #
176: OTHER_SOURCE=
177:
178: #
179: # Other install rules (invoked as dependency, so this executes before
180: # the main install rule).
181: #
182: other_install: always
183:
184: #
185: # Libraries. These may be overridden, deleted, or appended to.
186: #
187: #LIB_DIR= /usr/lib/
188: LIB_DIR= $(SYMROOT)/../../../libDriver/syms/
189:
190: RELEASE_LIBS= $(LIB_DIR)/libDriver.a -lkernload
191: DEBUG_LIBS= $(LIB_DIR)/libDriver_g.a -lkernload
192: RELEASE_KERN_LIBS=
193: DEBUG_KERN_LIBS=
194:
195: #
196: # This does the rest.
197: #
198: -include ../../../MakefileDir/Makefile.device_common
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.