Mercurial > audlegacy
annotate mk/objective.mk @ 705:93c09e025180 trunk
[svn] - more intelligently handle directory creation
author | nenolod |
---|---|
date | Sun, 26 Feb 2006 15:39:06 -0800 |
parents | 63ce2be16d4f |
children | e4069b00b174 |
rev | line source |
---|---|
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
1 # Shut up GNU make |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
2 .SILENT: |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
3 |
578 | 4 OBJECTIVE_DIRECTORIES = none |
5 OBJECTIVE_LIBS = none | |
581 | 6 OBJECTIVE_LIBS_NOINST = none |
578 | 7 OBJECTIVE_BINS = none |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
8 SUBDIRS = none |
658
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
9 HEADERS = none |
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
10 |
595 | 11 LIBDIR = $(libdir) |
12 BINDIR = $(bindir) | |
671 | 13 INCLUDEDIR = $(pkgincludedir) |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
14 CFLAGS += -DHAVE_CONFIG_H |
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
15 |
705
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
16 OBJ_DIRS = $(BINDIR) $(LIBDIR) $(INCLUDEDIR) |
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
17 |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
18 default: all |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
19 all: build |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
20 |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
21 install: |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
22 $(MAKE) install-prehook |
705
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
23 @if test ! -d $(DESTDIR)/$(BINDIR); then \ |
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
24 for i in $(OBJ_DIRS); do \ |
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
25 $(INSTALL) -d -m 755 $(DESTDIR)/$$i; \ |
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
26 done; \ |
93c09e025180
[svn] - more intelligently handle directory creation
nenolod
parents:
699
diff
changeset
|
27 fi |
593 | 28 @if test "$(SUBDIRS)" != "none"; then \ |
29 for i in $(SUBDIRS); do \ | |
30 echo "[installing subobjective: $$i]"; \ | |
31 (cd $$i; $(MAKE) install; cd ..); \ | |
32 done; \ | |
33 fi | |
578 | 34 @if test "$(OBJECTIVE_DIRECTORIES)" != "none"; then \ |
35 for i in $(OBJECTIVE_DIRECTORIES); do \ | |
36 printf "%10s %-20s\n" MKDIR $$i; \ | |
37 $(INSTALL) -d -m 755 $(DESTDIR)/$$i; \ | |
38 done; \ | |
39 fi | |
658
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
40 @if test "$(HEADERS)" != "none"; then \ |
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
41 for i in $(HEADERS); do \ |
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
42 printf "%10s %-20s\n" INSTALL $$i; \ |
671 | 43 $(INSTALL_DATA) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(INCLUDEDIR)/$$i; \ |
658
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
44 done; \ |
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
45 fi |
578 | 46 @if test "$(OBJECTIVE_LIBS)" != "none"; then \ |
47 for i in $(OBJECTIVE_LIBS); do \ | |
48 printf "%10s %-20s\n" INSTALL $$i; \ | |
49 $(INSTALL) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(LIBDIR)/$$i; \ | |
50 done; \ | |
51 fi | |
52 @if test "$(OBJECTIVE_BINS)" != "none"; then \ | |
53 for i in $(OBJECTIVE_BINS); do \ | |
54 printf "%10s %-20s\n" INSTALL $$i; \ | |
55 $(INSTALL) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(BINDIR)/$$i; \ | |
56 done; \ | |
57 fi; | |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
58 $(MAKE) install-posthook |
564 | 59 @echo "[all objectives installed]" |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
60 |
563
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
61 clean: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
62 $(MAKE) clean-prehook |
567 | 63 @if test "$(SUBDIRS)" != "none"; then \ |
64 for i in $(SUBDIRS); do \ | |
65 echo "[cleaning subobjective: $$i]"; \ | |
66 (cd $$i; $(MAKE) clean; cd ..); \ | |
67 done; \ | |
68 fi | |
563
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
69 $(MAKE) clean-posthook |
568
f34898e3333a
[svn] Announce when we're building a library or binary objective, not just a component objective.
nenolod
parents:
567
diff
changeset
|
70 $(RM) *.o *.lo *.so *.a *.sl |
564 | 71 @echo "[all objectives cleaned]" |
563
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
72 |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
73 distclean: clean |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
74 $(RM) mk/rules.mk |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
75 |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
76 build: |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
77 $(MAKE) build-prehook |
658
a019c0e28b28
[svn] If the makefile has a HEADERS variable, then install them to the
nenolod
parents:
626
diff
changeset
|
78 +@if test "$(SUBDIRS)" != "none"; then \ |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
79 for i in $(SUBDIRS); do \ |
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
80 echo "[building subobjective: $$i]"; \ |
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
81 (cd $$i; $(MAKE); cd ..); \ |
570 | 82 echo "[finished subobjective: $$i]"; \ |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
83 done; \ |
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
84 fi |
581 | 85 @if test "$(OBJECTIVE_LIBS)" != "none"; then \ |
86 for i in $(OBJECTIVE_LIBS); do \ | |
87 echo "[building library objective: $$i]"; \ | |
88 $(MAKE) $$i; \ | |
89 echo "[finished library objective: $$i]"; \ | |
90 done; \ | |
91 fi | |
92 @if test "$(OBJECTIVE_LIBS_NOINST)" != "none"; then \ | |
93 for i in $(OBJECTIVE_LIBS_NOINST); do \ | |
94 echo "[building library dependency: $$i]"; \ | |
95 $(MAKE) $$i; \ | |
96 echo "[finished library dependency: $$i]"; \ | |
97 done; \ | |
98 fi | |
99 @if test "$(OBJECTIVE_BINS)" != "none"; then \ | |
100 for i in $(OBJECTIVE_BINS); do \ | |
101 echo "[building binary objective: $$i]"; \ | |
102 $(MAKE) $$i; \ | |
103 echo "[finished binary objective: $$i]"; \ | |
104 done; \ | |
105 fi | |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
106 $(MAKE) build-posthook |
564 | 107 @echo "[all objectives built]" |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
108 |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
109 .c.o: |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
110 printf "%10s %-20s\n" CC $< |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
111 $(CC) $(CFLAGS) -c $< -o $@ |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
112 |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
113 .cc.o: |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
114 printf "%10s %-20s\n" CXX $<; |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
115 $(CXX) $(CXXFLAGS) -c $< -o $@ |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
116 |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
117 .cpp.o: |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
118 printf "%10s %-20s\n" CXX $<; |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
119 $(CXX) $(CXXFLAGS) -c $< -o $@ |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
120 |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
121 .cxx.o: |
566
ab7027a06ca9
[svn] convert mpg123 over... right now we don't use the "x86-optimized code", although I doubt it makes a lick of
nenolod
parents:
564
diff
changeset
|
122 printf "%10s %-20s\n" CXX $<; |
562
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
123 $(CXX) $(CXXFLAGS) -c $< -o $@ |
5cdadcf74ec3
[svn] needed requirements for objective-based buildsystem (automake replacement)
nenolod
parents:
diff
changeset
|
124 |
578 | 125 %.so: $(OBJECTS) |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
126 if test "x$(OBJECTS)" != "x"; then \ |
699 | 127 $(MAKE) $(OBJECTS); \ |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
128 printf "%10s %-20s\n" LINK $@; \ |
689 | 129 $(CC) -fPIC -DPIC -shared -o $@ -Wl,-soname=$@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \ |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
130 fi |
578 | 131 |
580 | 132 %.a: $(OBJECTS) |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
133 if test "x$(OBJECTS)" != "x"; then \ |
699 | 134 $(MAKE) $(OBJECTS); \ |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
135 printf "%10s %-20s\n" LINK $@; \ |
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
136 $(AR) cq $@ $(OBJECTS); \ |
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
137 fi |
580 | 138 |
579
785ec2ad4ea4
[svn] try to add a "default" make rule for $(OBJECTIVE_BINS)
nenolod
parents:
578
diff
changeset
|
139 $(OBJECTIVE_BINS): $(OBJECTS) |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
140 if test "x$(OBJECTS)" != "x"; then \ |
699 | 141 $(MAKE) $(OBJECTS); \ |
626
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
142 printf "%10s %-20s\n" LINK $@; \ |
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
143 $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \ |
eb0c533e7c48
[svn] do not forkbomb if we have a malformed makefile
nenolod
parents:
595
diff
changeset
|
144 fi |
579
785ec2ad4ea4
[svn] try to add a "default" make rule for $(OBJECTIVE_BINS)
nenolod
parents:
578
diff
changeset
|
145 |
563
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
146 clean-prehook: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
147 clean-posthook: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
148 build-prehook: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
149 build-posthook: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
150 install-prehook: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
151 install-posthook: |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
152 |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
153 # compatibility with automake follows |
0879e7ad85b1
[svn] some buildsystem changes... nothing notable yet
nenolod
parents:
562
diff
changeset
|
154 am--refresh: |