| 1 ## |
1 ## |
| 2 ## Some make rules |
2 ## Some make rules |
| 3 ## |
3 ## |
| 4 |
4 |
| 5 ###################################### |
5 ###################################### |
| |
6 |
| |
7 ifdef MODULE |
| |
8 ifneq ($(STATIC_MODULES),1) |
| |
9 TARGETS := $(TARGETS) $(MODULE).so |
| |
10 else |
| |
11 TARGETS := $(TARGETS) $(MODULE).a |
| |
12 endif |
| |
13 endif |
| |
14 |
| 6 |
15 |
| 7 ifdef SUBDIRS |
16 ifdef SUBDIRS |
| 8 |
17 |
| 9 all: subdirs $(TARGETS) |
18 all: subdirs $(TARGETS) |
| 10 |
19 |
| 11 clean: subdirs-clean _clean |
20 clean: subdirs-clean _clean |
| 12 |
21 |
| 13 realclean: subdirs-realclean _realclean |
22 realclean: subdirs-realclean _clean _realclean |
| 14 |
23 |
| 15 depend: subdirs-depend _depend |
24 depend: subdirs-depend _depend |
| 16 |
25 |
| 17 else |
26 else |
| 18 |
27 |
| 19 all: $(TARGETS) |
28 all: $(TARGETS) |
| 20 |
29 |
| 21 clean: _clean |
30 clean: _clean |
| 22 |
31 |
| 23 realclean: _realclean |
32 realclean: _clean _realclean |
| 24 |
33 |
| 25 depend: _depend |
34 depend: _depend |
| 26 |
35 |
| 27 endif |
36 endif |
| 28 |
37 |
| 36 |
45 |
| 37 endif |
46 endif |
| 38 |
47 |
| 39 ###################################### |
48 ###################################### |
| 40 |
49 |
| |
50 OBJS=$(subst .c,.o,$(SOURCES)) |
| |
51 |
| |
52 ifdef MAKE_EXPORTS |
| |
53 |
| |
54 TO_CLEAN := $(TO_CLEAN) exports.c |
| |
55 |
| |
56 OBJS := $(OBJS) exports.o |
| |
57 |
| |
58 exports.c: $(SOURCES) |
| |
59 $(PERL) $(TOPDIR)/mkexports.pl $(MAKE_EXPORTS) exports.c $(SOURCES) |
| |
60 |
| |
61 endif |
| |
62 |
| |
63 ifdef MODULE |
| |
64 |
| |
65 ifneq ($(STATIC_MODULES),1) |
| |
66 |
| |
67 $(MODULE).so: $(OBJS) $(EXT_OBJS) |
| |
68 $(CC) $(CFLAGS) $(LDFLAGS) $(MODULE_LDFLAGS) $(OBJS) $(EXT_OBJS) -o $@ |
| |
69 |
| |
70 module_install: |
| |
71 $(INSTALLDIR) $(MODULEDIR) |
| |
72 $(INSTALL) -m $(BIN_MODE) $(MODULE).so $(MODULEDIR) |
| |
73 # $(STRIP) $(MODULEDIR)/$(MODULE).so |
| |
74 |
| |
75 else |
| |
76 |
| |
77 $(MODULE).a: $(OBJS) |
| |
78 $(AR) $(ARFLAGS) $@ $+ |
| |
79 $(RANLIB) $@ |
| |
80 |
| |
81 module_install: |
| |
82 |
| |
83 endif |
| |
84 |
| |
85 .c.o: |
| |
86 $(CC) $(CFLAGS) $(MODULE_CFLAGS) -c $< -o $@ |
| |
87 |
| |
88 else |
| |
89 |
| 41 .c.o: |
90 .c.o: |
| 42 $(CC) $(CFLAGS) -c $< -o $@ |
91 $(CC) $(CFLAGS) -c $< -o $@ |
| 43 |
92 |
| 44 ifdef OBJS |
93 endif |
| 45 |
94 |
| 46 _clean: |
95 _clean: |
| 47 rm -f core $(DEPEND_FILE) $(OBJS) |
96 rm -f core $(DEPEND_FILE) $(OBJS) $(TO_CLEAN) |
| 48 |
97 |
| |
98 _realclean: |
| |
99 rm -f $(TARGETS) $(TO_REALCLEAN) |
| |
100 |
| |
101 |
| |
102 ifdef SOURCES |
| 49 _depend: |
103 _depend: |
| 50 $(MAKE_DEPEND) *.c |
104 $(MAKE_DEPEND) $(SOURCES) |
| 51 |
|
| 52 else |
105 else |
| 53 |
|
| 54 _clean: |
|
| 55 |
|
| 56 _depend: |
106 _depend: |
| 57 |
107 |
| 58 endif |
108 endif |
| 59 |
|
| 60 _realclean: _clean |
|
| 61 rm -f $(TARGETS) |
|
| 62 |
|
| 63 |
109 |
| 64 ###################################### |
110 ###################################### |
| 65 |
111 |
| 66 subdirs: |
112 subdirs: |
| 67 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done |
113 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done |