Parent Directory
|
Revision Log
Revision 907 - (view) (download)
1 : | edgomez | 824 | ############################################################################## |
2 : | # | ||
3 : | # - Unified Makefile for XviD for *nix environments - | ||
4 : | # | ||
5 : | # Copyright(C) 2003 Edouard Gomez <ed.gomez@free.fr> | ||
6 : | # | ||
7 : | # | ||
8 : | # Description: | ||
9 : | # This Makefile allows building XviD sources to obtain a shared library | ||
10 : | # and a static library. This Makefie uses variables defined in the | ||
11 : | # platform.inc file. This platform.inc file is usually created by the | ||
12 : | # ./configure script whenever a unix shell is available. | ||
13 : | # | ||
14 : | # Nota Bene for mingw32/djgpp users: | ||
15 : | # However if you provide a platform.inc file adapted to your OS, then | ||
16 : | # change the include platform.inc to include yourfile.inc and it should | ||
17 : | # work too. | ||
18 : | # | ||
19 : | # | ||
20 : | ############################################################################## | ||
21 : | |||
22 : | include sources.inc | ||
23 : | include platform.inc | ||
24 : | |||
25 : | RM = rm -rf | ||
26 : | |||
27 : | ############################################################################## | ||
28 : | # | ||
29 : | # Build rules | ||
30 : | # | ||
31 : | ############################################################################## | ||
32 : | |||
33 : | # Their Objects | ||
34 : | OBJECTS=$(GENERIC_OBJECTS) | ||
35 : | OBJECTS+=$(DIVX4COMPAT_OBJECTS) | ||
36 : | OBJECTS+=$(ASSEMBLY_OBJECTS) | ||
37 : | edgomez | 830 | OBJECTS+=$(DCT_IA64_OBJECTS) |
38 : | edgomez | 824 | |
39 : | #----------------------------------------------------------------------------- | ||
40 : | # The default rule | ||
41 : | #----------------------------------------------------------------------------- | ||
42 : | |||
43 : | .SUFFIXES: .$(OBJECT_EXTENSION) .$(ASSEMBLY_EXTENSION) .c | ||
44 : | |||
45 : | all: platform.inc $(STATIC_LIB) $(SHARED_LIB) | ||
46 : | edgomez | 830 | @echo |
47 : | @echo "---------------------------------------------------------------" | ||
48 : | @echo " XviD has been built, you can now run \"# make install\" as root." | ||
49 : | @echo "---------------------------------------------------------------" | ||
50 : | @echo | ||
51 : | edgomez | 824 | |
52 : | #----------------------------------------------------------------------------- | ||
53 : | # Generic assembly rule | ||
54 : | #----------------------------------------------------------------------------- | ||
55 : | |||
56 : | .$(ASSEMBLY_EXTENSION).$(OBJECT_EXTENSION): | ||
57 : | edgomez | 830 | @echo -n "Assembling $< ... " |
58 : | @$(AS) $(AFLAGS) $< -o $@ | ||
59 : | @echo "Done" | ||
60 : | edgomez | 824 | |
61 : | #----------------------------------------------------------------------------- | ||
62 : | # Generic C rule | ||
63 : | #----------------------------------------------------------------------------- | ||
64 : | |||
65 : | .c.$(OBJECT_EXTENSION): | ||
66 : | edgomez | 830 | @echo -n "Compiling $< ... " |
67 : | edgomez | 845 | @$(CC) -c $(ARCHITECTURE) $(BUS) $(ENDIANNESS) $(FEATURES) $(SPECIFIC_CFLAGS) $(CFLAGS) $< -o $@ |
68 : | edgomez | 830 | @echo "Done" |
69 : | edgomez | 824 | |
70 : | #----------------------------------------------------------------------------- | ||
71 : | # Static Library | ||
72 : | #----------------------------------------------------------------------------- | ||
73 : | |||
74 : | $(STATIC_LIB): $(OBJECTS) | ||
75 : | edgomez | 830 | @echo |
76 : | @echo -n "Linking the static library... " | ||
77 : | @ar rc $(STATIC_LIB) $(OBJECTS) | ||
78 : | @echo "Done" | ||
79 : | @echo -n "Generating static library's index... " | ||
80 : | @$(RANLIB) $(STATIC_LIB) | ||
81 : | @echo "Done" | ||
82 : | edgomez | 824 | |
83 : | #----------------------------------------------------------------------------- | ||
84 : | # Shared Library | ||
85 : | #----------------------------------------------------------------------------- | ||
86 : | |||
87 : | $(SHARED_LIB): $(OBJECTS) | ||
88 : | edgomez | 830 | @echo |
89 : | @echo -n "Linking the shared library... " | ||
90 : | @$(CC) $(LDFLAGS) $(OBJECTS) -o $(SHARED_LIB) $(SPECIFIC_LDFLAGS) | ||
91 : | @echo "Done" | ||
92 : | edgomez | 824 | |
93 : | #----------------------------------------------------------------------------- | ||
94 : | # Installation | ||
95 : | #----------------------------------------------------------------------------- | ||
96 : | |||
97 : | install: all | ||
98 : | @echo | ||
99 : | @echo "+---------- Installing XviD libraries in $(libdir) ----------+" | ||
100 : | @echo | ||
101 : | edgomez | 907 | $(INSTALL) -d $(libdir) |
102 : | edgomez | 824 | $(INSTALL) -m 755 $(SHARED_LIB) $(libdir)/$(SHARED_LIB) |
103 : | $(INSTALL) -m 755 $(STATIC_LIB) $(libdir)/$(STATIC_LIB) | ||
104 : | @echo | ||
105 : | @echo "+---------- Installing XviD header in $(includedir) ----------+" | ||
106 : | @echo | ||
107 : | edgomez | 907 | $(INSTALL) -d $(includedir) |
108 : | edgomez | 824 | $(INSTALL) -m 644 $(SRCDIR)/xvid.h $(includedir)/xvid.h |
109 : | @echo | ||
110 : | |||
111 : | #----------------------------------------------------------------------------- | ||
112 : | # Platorm specific file -- dumb rule for people executing make before | ||
113 : | # ./configure | ||
114 : | #----------------------------------------------------------------------------- | ||
115 : | |||
116 : | platform.inc: platform.inc.in | ||
117 : | ./configure | ||
118 : | |||
119 : | #----------------------------------------------------------------------------- | ||
120 : | # .PHONY targets | ||
121 : | #----------------------------------------------------------------------------- | ||
122 : | |||
123 : | edgomez | 845 | .PHONY: distclean clean info list-objects list-targets list-install-path list-cflags |
124 : | edgomez | 824 | |
125 : | clean: | ||
126 : | edgomez | 830 | @echo -n "Cleaning objects... " |
127 : | @$(RM) $(OBJECTS) | ||
128 : | @echo "Done" | ||
129 : | @echo -n "Cleaning static library... " | ||
130 : | @$(RM) $(STATIC_LIB) | ||
131 : | @echo "Done" | ||
132 : | @echo -n "Cleaning shared library... " | ||
133 : | @$(RM) $(SHARED_LIB) | ||
134 : | @echo "Done" | ||
135 : | edgomez | 824 | |
136 : | edgomez | 830 | |
137 : | edgomez | 824 | distclean: clean |
138 : | edgomez | 830 | @echo -n "Cleaning generated files... " |
139 : | @$(RM) libxvidcore.def | ||
140 : | @$(RM) platform.inc | ||
141 : | @$(RM) config.log | ||
142 : | @$(RM) autom4te.cache | ||
143 : | @echo "Done" | ||
144 : | edgomez | 824 | |
145 : | list-objects: | ||
146 : | @echo | ||
147 : | @echo "Object files used for this build" | ||
148 : | @echo "---------------------------------------------------------------" | ||
149 : | @echo | ||
150 : | @echo $(OBJECTS) | ||
151 : | @echo | ||
152 : | |||
153 : | list-targets: | ||
154 : | @echo | ||
155 : | @echo "Target Libraries" | ||
156 : | @echo "---------------------------------------------------------------" | ||
157 : | @echo | ||
158 : | @echo Shared library: $(SHARED_LIB) | ||
159 : | @echo Static library: $(STATIC_LIB) | ||
160 : | @echo | ||
161 : | |||
162 : | list-install-path: | ||
163 : | @echo | ||
164 : | @echo "Install Paths" | ||
165 : | @echo "---------------------------------------------------------------" | ||
166 : | @echo | ||
167 : | @echo Include: $(includedir) | ||
168 : | @echo Library: $(libdir) | ||
169 : | @echo | ||
170 : | |||
171 : | edgomez | 845 | list-cflags: |
172 : | @echo | ||
173 : | @echo "Using CFLAGS" | ||
174 : | @echo "---------------------------------------------------------------" | ||
175 : | @echo | ||
176 : | @echo CFLAGS=$(CFLAGS) | ||
177 : | @echo | ||
178 : | |||
179 : | info: list-objects list-cflags list-targets list-install-path |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |