]> git.saurik.com Git - apple/xnu.git/blame - iokit/conf/Makefile.template
xnu-1504.7.4.tar.gz
[apple/xnu.git] / iokit / conf / Makefile.template
CommitLineData
1c79356b
A
1#
2# Mach Operating System
3# Copyright (c) 1986 Carnegie-Mellon University
4# All rights reserved. The CMU software License Agreement specifies
5# the terms and conditions for use and redistribution.
6#
7
8#
9# Export IDENT for sub-makefiles
10#
11export IDENT
12
13#
14# XXX: INCFLAGS
15#
16INCFLAGS_MAKEFILE= $(INCFLAGS_POSIX) -I$(SOURCE) -I$(SOURCE)include
17
18export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
19export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
20export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
21export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
22
23include $(MakeInc_cmd)
24include $(MakeInc_def)
25
26#
b0d623f7 27# XXX: CFLAGS
1c79356b 28#
2d21ac55 29CFLAGS+= -imacros meta_features.h -DKERNEL -DDRIVER_PRIVATE \
b0d623f7 30 -Wall -fno-common \
55e303ae 31 -DIOMATCHDEBUG=1 -DIOALLOCDEBUG=1 \
2d21ac55 32 -imacros meta_features.h $(CFLAGS_INLINE_CONFIG)
1c79356b
A
33#-DIOKITDEBUG=-1
34
91447636
A
35CWARNFLAGS += -Wno-unused-parameter -Wno-redundant-decls -Wno-nested-externs -Wno-write-strings
36MWARNFLAGS += -Wno-unused-parameter -Wno-redundant-decls -Wno-nested-externs -Wno-write-strings
37CXXWARNFLAGS += -Wno-unused-parameter -Wno-redundant-decls -Wno-write-strings -Wno-cast-qual -Wno-shadow
38
55e303ae
A
39CFLAGS_RELEASE += -DIOASSERT=0
40CFLAGS_DEBUG += -DIOASSERT=1
41
1c79356b
A
42SFLAGS+= -DKERNEL
43
44#
45# Directories for mig generated files
46#
47COMP_SUBDIRS =
48
49#
50# Make sure we don't remove this by accident if interrupted at the wrong
51# time.
52#
53.PRECIOUS: Makefile
54
1c79356b
A
55#
56# Theses macros are filled in by the config program depending on the
57# current configuration. The MACHDEP macro is replaced by the
58# contents of the machine dependent makefile template and the others
59# are replaced by the corresponding symbol definitions for the
60# configuration.
61#
62
63%OBJS
64
65%CFILES
66
67%MFILES
68
69%SFILES
70
71%BFILES
72
73%ORDERED
74%MACHDEP
75
76#
77# OBJSDEPS is the set of files (defined in the machine dependent
78# template if necessary) which all objects depend on (such as an
79# in-line assembler expansion filter)
80#
81${OBJS}: ${OBJSDEPS}
82
83
84%LOAD
85
86LDOBJS = $(OBJS)
87
88$(COMPONENT).o: $(LDOBJS)
d1ecb069
A
89 $(_v)for hib_file in ${HIB_FILES}; \
90 do \
91 $(SEG_HACK) __HIB $${hib_file} -o $${hib_file}__; \
92 mv $${hib_file}__ $${hib_file} ; \
93 done;
b0d623f7
A
94 @echo LDFILELIST $(COMPONENT)
95 $(_v)( for obj in ${LDOBJS}; do \
96 echo $(TARGET)$(COMP_OBJ_DIR)/$(KERNEL_CONFIG)/$${obj}; \
97 done; ) > $(COMPONENT).o
1c79356b
A
98
99do_depend: do_all
2d21ac55 100 $(_v)${MD} -u Makedep -f -d `ls *.d`
1c79356b
A
101
102
103do_all: $(COMPONENT).o
104
105do_build_all: do_depend
106
107%RULES
108
1c79356b 109include $(MakeInc_rule)
1c79356b 110include $(MakeInc_dir)