]>
Commit | Line | Data |
---|---|---|
86172eb0 | 1 | # Top level -*- makefile -*- fragment for GNU Objective-C |
6fb2153a | 2 | # Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2007, |
585d4848 | 3 | # 2008, 2009 Free Software Foundation, Inc. |
629bdb0d | 4 | |
e3708be9 | 5 | #This file is part of GCC. |
629bdb0d | 6 | |
e3708be9 | 7 | #GCC is free software; you can redistribute it and/or modify |
629bdb0d | 8 | #it under the terms of the GNU General Public License as published by |
c3adda75 | 9 | #the Free Software Foundation; either version 3, or (at your option) |
629bdb0d | 10 | #any later version. |
11 | ||
e3708be9 | 12 | #GCC is distributed in the hope that it will be useful, |
629bdb0d | 13 | #but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | #GNU General Public License for more details. | |
16 | ||
c3adda75 | 17 | # You should have received a copy of the GNU General Public License |
18 | # along with GCC; see the file COPYING3. If not see | |
19 | # <http://www.gnu.org/licenses/>. | |
20 | ||
629bdb0d | 21 | |
22 | # This file provides the language dependent support in the main Makefile. | |
23 | # Each language makefile fragment must provide the following targets: | |
24 | # | |
ae6555f9 | 25 | # foo.all.cross, foo.start.encap, foo.rest.encap, |
52df3169 | 26 | # foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, |
27 | # foo.info, foo.dvi, foo.pdf, foo.html, foo.uninstall, | |
80e909c6 | 28 | # foo.mostlyclean, foo.clean, foo.distclean, |
629bdb0d | 29 | # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 |
30 | # | |
31 | # where `foo' is the name of the language. | |
32 | # | |
33 | # It should also provide rules for: | |
34 | # | |
35 | # - making any compiler driver (eg: g++) | |
36 | # - the compiler proper (eg: cc1plus) | |
37 | # - define the names for selecting the language in LANGUAGES. | |
629bdb0d | 38 | |
05ae2ba4 | 39 | #\f |
629bdb0d | 40 | # Define the names for selecting Objective-C in LANGUAGES. |
9f30f9e7 | 41 | objc: cc1obj$(exeext) |
629bdb0d | 42 | |
43 | # Tell GNU make to ignore these if they exist. | |
9f30f9e7 | 44 | .PHONY: objc |
629bdb0d | 45 | |
f357ac87 | 46 | # Use maximal warnings for this front end. |
47 | objc-warn = $(STRICT_WARN) | |
48 | ||
629bdb0d | 49 | # Language-specific object files for Objective C. |
1576dec7 | 50 | OBJC_OBJS = objc/objc-lang.o objc/objc-act.o |
629bdb0d | 51 | |
6fb2153a | 52 | objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o |
53 | ||
f1035767 | 54 | cc1obj-dummy$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS) |
40b6e20e | 55 | $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ |
f1035767 | 56 | $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o \ |
268a100a | 57 | $(BACKEND) $(LIBS) $(BACKENDLIBS) |
f1035767 | 58 | |
bd06ecb6 | 59 | cc1obj-checksum.c : cc1obj-dummy$(exeext) build/genchecksum$(build_exeext) |
60 | build/genchecksum$(build_exeext) cc1obj-dummy$(exeext) > $@ | |
f1035767 | 61 | |
cd819d2f | 62 | cc1obj-checksum.o : cc1obj-checksum.c $(CONFIG_H) $(SYSTEM_H) |
21886706 | 63 | |
f1035767 | 64 | cc1obj$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o $(BACKEND) $(LIBDEPS) |
40b6e20e | 65 | $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ |
f1035767 | 66 | $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o \ |
268a100a | 67 | $(BACKEND) $(LIBS) $(BACKENDLIBS) |
629bdb0d | 68 | |
21886706 | 69 | # Objective C language specific files. |
70 | ||
71 | objc/objc-lang.o : objc/objc-lang.c \ | |
72 | $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ | |
73 | $(C_TREE_H) $(DIAGNOSTIC_H) \ | |
74 | $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objc.h \ | |
75a70cf9 | 75 | c-objc-common.h objc/objc-act.h $(GIMPLE_H) |
21886706 | 76 | |
77 | objc/objc-act.o : objc/objc-act.c \ | |
78 | $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \ | |
79 | $(EXPR_H) $(TARGET_H) $(C_TREE_H) $(DIAGNOSTIC_H) toplev.h $(FLAGS_H) \ | |
80 | objc/objc-act.h input.h $(FUNCTION_H) output.h debug.h langhooks.h \ | |
81 | $(LANGHOOKS_DEF_H) $(HASHTAB_H) $(C_PRAGMA_H) gt-objc-objc-act.h \ | |
75a70cf9 | 82 | $(GIMPLE_H) |
21886706 | 83 | |
1576dec7 | 84 | objc.srcextra: |
629bdb0d | 85 | |
05ae2ba4 | 86 | #\f |
629bdb0d | 87 | # Build hooks: |
88 | ||
629bdb0d | 89 | objc.all.cross: |
90 | objc.start.encap: | |
91 | objc.rest.encap: | |
ca6eabd1 | 92 | objc.info: |
352ea6ae | 93 | objc.install-info: |
94 | objc.dvi: | |
51f93521 | 95 | objc.pdf: |
52df3169 | 96 | objc.install-pdf: |
352ea6ae | 97 | objc.html: |
ca6eabd1 | 98 | objc.man: |
99 | objc.srcinfo: | |
100 | objc.srcman: | |
629bdb0d | 101 | |
c835a482 | 102 | objc.tags: force |
1576dec7 | 103 | cd $(srcdir)/objc; etags -o TAGS.sub *.c *.h; \ |
39aebbc3 | 104 | etags --include TAGS.sub --include ../TAGS.sub |
c835a482 | 105 | |
71a3866b | 106 | lang_checks += check-objc |
107 | ||
05ae2ba4 | 108 | #\f |
629bdb0d | 109 | # Install hooks: |
110 | # cc1obj is installed elsewhere as part of $(COMPILERS). | |
111 | ||
629bdb0d | 112 | objc.install-common: |
113 | ||
629bdb0d | 114 | objc.install-man: |
115 | ||
116 | objc.uninstall: | |
05ae2ba4 | 117 | #\f |
629bdb0d | 118 | # Clean hooks: |
119 | # A lot of the ancillary files are deleted by the main makefile. | |
120 | # We just have to delete files specific to us. | |
121 | objc.mostlyclean: | |
629bdb0d | 122 | -rm -f objc/*$(objext) objc/xforward objc/fflags |
d5a37d75 | 123 | -rm -f objc/*$(coverageexts) |
629bdb0d | 124 | objc.clean: objc.mostlyclean |
125 | -rm -rf objc-headers | |
126 | objc.distclean: | |
127 | -rm -f objc/Makefile objc/Make-host objc/Make-target | |
128 | -rm -f objc/config.status objc/config.cache | |
629bdb0d | 129 | objc.maintainer-clean: |
629bdb0d | 130 | |
05ae2ba4 | 131 | #\f |
629bdb0d | 132 | # Stage hooks: |
133 | ||
b2779d7f | 134 | objc.stage1: stage1-start |
629bdb0d | 135 | -mv objc/*$(objext) stage1/objc |
b2779d7f | 136 | objc.stage2: stage2-start |
629bdb0d | 137 | -mv objc/*$(objext) stage2/objc |
b2779d7f | 138 | objc.stage3: stage3-start |
629bdb0d | 139 | -mv objc/*$(objext) stage3/objc |
b2779d7f | 140 | objc.stage4: stage4-start |
629bdb0d | 141 | -mv objc/*$(objext) stage4/objc |
ef3bb540 | 142 | objc.stageprofile: stageprofile-start |
143 | -mv objc/*$(objext) stageprofile/objc | |
ef3bb540 | 144 | objc.stagefeedback: stagefeedback-start |
145 | -mv objc/*$(objext) stagefeedback/objc |