Parent Directory
|
Revision Log
Revision 881 - (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 : | # Our main targets | ||
34 : | edgomez | 863 | STATIC_LIB=libxvidcore.$(STATIC_EXTENSION) |
35 : | edgomez | 851 | SHARED_LIB=libxvidcore.$(SHARED_EXTENSION).3.0 |
36 : | edgomez | 824 | |
37 : | # Their Objects | ||
38 : | OBJECTS=$(GENERIC_OBJECTS) | ||
39 : | OBJECTS+=$(DIVX4COMPAT_OBJECTS) | ||
40 : | OBJECTS+=$(ASSEMBLY_OBJECTS) | ||
41 : | edgomez | 830 | OBJECTS+=$(DCT_IA64_OBJECTS) |
42 : | edgomez | 824 | |
43 : | #----------------------------------------------------------------------------- | ||
44 : | # The default rule | ||
45 : | #----------------------------------------------------------------------------- | ||
46 : | |||
47 : | .SUFFIXES: .$(OBJECT_EXTENSION) .$(ASSEMBLY_EXTENSION) .c | ||
48 : | |||
49 : | all: platform.inc $(STATIC_LIB) $(SHARED_LIB) | ||
50 : | edgomez | 830 | @echo |
51 : | @echo "---------------------------------------------------------------" | ||
52 : | @echo " XviD has been built, you can now run \"# make install\" as root." | ||
53 : | @echo "---------------------------------------------------------------" | ||
54 : | @echo | ||
55 : | edgomez | 824 | |
56 : | #----------------------------------------------------------------------------- | ||
57 : | # Generic assembly rule | ||
58 : | #----------------------------------------------------------------------------- | ||
59 : | |||
60 : | .$(ASSEMBLY_EXTENSION).$(OBJECT_EXTENSION): | ||
61 : | edgomez | 830 | @echo -n "Assembling $< ... " |
62 : | @$(AS) $(AFLAGS) $< -o $@ | ||
63 : | @echo "Done" | ||
64 : | edgomez | 824 | |
65 : | #----------------------------------------------------------------------------- | ||
66 : | # Generic C rule | ||
67 : | #----------------------------------------------------------------------------- | ||
68 : | |||
69 : | .c.$(OBJECT_EXTENSION): | ||
70 : | edgomez | 830 | @echo -n "Compiling $< ... " |
71 : | edgomez | 845 | @$(CC) -c $(ARCHITECTURE) $(BUS) $(ENDIANNESS) $(FEATURES) $(SPECIFIC_CFLAGS) $(CFLAGS) $< -o $@ |
72 : | edgomez | 830 | @echo "Done" |
73 : | edgomez | 824 | |
74 : | #----------------------------------------------------------------------------- | ||
75 : | # Static Library | ||
76 : | #----------------------------------------------------------------------------- | ||
77 : | |||
78 : | $(STATIC_LIB): $(OBJECTS) | ||
79 : | edgomez | 830 | @echo |
80 : | @echo -n "Linking the static library... " | ||
81 : | @ar rc $(STATIC_LIB) $(OBJECTS) | ||
82 : | @echo "Done" | ||
83 : | @echo -n "Generating static library's index... " | ||
84 : | @$(RANLIB) $(STATIC_LIB) | ||
85 : | @echo "Done" | ||
86 : | edgomez | 824 | |
87 : | #----------------------------------------------------------------------------- | ||
88 : | # Shared Library | ||
89 : | #----------------------------------------------------------------------------- | ||
90 : | |||
91 : | $(SHARED_LIB): $(OBJECTS) | ||
92 : | edgomez | 830 | @echo |
93 : | @echo -n "Linking the shared library... " | ||
94 : | @$(CC) $(LDFLAGS) $(OBJECTS) -o $(SHARED_LIB) $(SPECIFIC_LDFLAGS) | ||
95 : | @echo "Done" | ||
96 : | edgomez | 824 | |
97 : | #----------------------------------------------------------------------------- | ||
98 : | # Installation | ||
99 : | #----------------------------------------------------------------------------- | ||
100 : | |||
101 : | install: all | ||
102 : | @echo | ||
103 : | @echo "+---------- Installing XviD libraries in $(libdir) ----------+" | ||
104 : | @echo | ||
105 : | $(INSTALL) -m 755 $(SHARED_LIB) $(libdir)/$(SHARED_LIB) | ||
106 : | $(INSTALL) -m 755 $(STATIC_LIB) $(libdir)/$(STATIC_LIB) | ||
107 : | @echo | ||
108 : | @echo "+---------- Installing XviD header in $(includedir) ----------+" | ||
109 : | @echo | ||
110 : | $(INSTALL) -m 644 $(SRCDIR)/xvid.h $(includedir)/xvid.h | ||
111 : | @echo | ||
112 : | |||
113 : | #----------------------------------------------------------------------------- | ||
114 : | # Platorm specific file -- dumb rule for people executing make before | ||
115 : | # ./configure | ||
116 : | #----------------------------------------------------------------------------- | ||
117 : | |||
118 : | platform.inc: platform.inc.in | ||
119 : | ./configure | ||
120 : | |||
121 : | #----------------------------------------------------------------------------- | ||
122 : | # .PHONY targets | ||
123 : | #----------------------------------------------------------------------------- | ||
124 : | |||
125 : | edgomez | 845 | .PHONY: distclean clean info list-objects list-targets list-install-path list-cflags |
126 : | edgomez | 824 | |
127 : | clean: | ||
128 : | edgomez | 830 | @echo -n "Cleaning objects... " |
129 : | @$(RM) $(OBJECTS) | ||
130 : | @echo "Done" | ||
131 : | @echo -n "Cleaning static library... " | ||
132 : | @$(RM) $(STATIC_LIB) | ||
133 : | @echo "Done" | ||
134 : | @echo -n "Cleaning shared library... " | ||
135 : | @$(RM) $(SHARED_LIB) | ||
136 : | @echo "Done" | ||
137 : | edgomez | 824 | |
138 : | edgomez | 830 | |
139 : | edgomez | 824 | distclean: clean |
140 : | edgomez | 830 | @echo -n "Cleaning generated files... " |
141 : | @$(RM) libxvidcore.def | ||
142 : | @$(RM) platform.inc | ||
143 : | @$(RM) config.log | ||
144 : | @$(RM) autom4te.cache | ||
145 : | @echo "Done" | ||
146 : | edgomez | 824 | |
147 : | list-objects: | ||
148 : | @echo | ||
149 : | @echo "Object files used for this build" | ||
150 : | @echo "---------------------------------------------------------------" | ||
151 : | @echo | ||
152 : | @echo $(OBJECTS) | ||
153 : | @echo | ||
154 : | |||
155 : | list-targets: | ||
156 : | @echo | ||
157 : | @echo "Target Libraries" | ||
158 : | @echo "---------------------------------------------------------------" | ||
159 : | @echo | ||
160 : | @echo Shared library: $(SHARED_LIB) | ||
161 : | @echo Static library: $(STATIC_LIB) | ||
162 : | @echo | ||
163 : | |||
164 : | list-install-path: | ||
165 : | @echo | ||
166 : | @echo "Install Paths" | ||
167 : | @echo "---------------------------------------------------------------" | ||
168 : | @echo | ||
169 : | @echo Include: $(includedir) | ||
170 : | @echo Library: $(libdir) | ||
171 : | @echo | ||
172 : | |||
173 : | edgomez | 845 | list-cflags: |
174 : | @echo | ||
175 : | @echo "Using CFLAGS" | ||
176 : | @echo "---------------------------------------------------------------" | ||
177 : | @echo | ||
178 : | @echo CFLAGS=$(CFLAGS) | ||
179 : | @echo | ||
180 : | |||
181 : | info: list-objects list-cflags list-targets list-install-path |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |