[svn] / branches / dev-api-4 / xvidcore / build / generic / Makefile Repository:
ViewVC logotype

Annotation of /branches/dev-api-4/xvidcore/build/generic/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


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

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4