[svn] / trunk / xvidcore / build / generic / Makefile Repository:
ViewVC logotype

Annotation of /trunk/xvidcore/build/generic/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 900 - (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 :     $(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 :     $(INSTALL) -m 644 $(SRCDIR)/xvid.h $(includedir)/xvid.h
107 :     @echo
108 :    
109 :     #-----------------------------------------------------------------------------
110 :     # Platorm specific file -- dumb rule for people executing make before
111 :     # ./configure
112 :     #-----------------------------------------------------------------------------
113 :    
114 :     platform.inc: platform.inc.in
115 :     ./configure
116 :    
117 :     #-----------------------------------------------------------------------------
118 :     # .PHONY targets
119 :     #-----------------------------------------------------------------------------
120 :    
121 : edgomez 845 .PHONY: distclean clean info list-objects list-targets list-install-path list-cflags
122 : edgomez 824
123 :     clean:
124 : edgomez 830 @echo -n "Cleaning objects... "
125 :     @$(RM) $(OBJECTS)
126 :     @echo "Done"
127 :     @echo -n "Cleaning static library... "
128 :     @$(RM) $(STATIC_LIB)
129 :     @echo "Done"
130 :     @echo -n "Cleaning shared library... "
131 :     @$(RM) $(SHARED_LIB)
132 :     @echo "Done"
133 : edgomez 824
134 : edgomez 830
135 : edgomez 824 distclean: clean
136 : edgomez 830 @echo -n "Cleaning generated files... "
137 :     @$(RM) libxvidcore.def
138 :     @$(RM) platform.inc
139 :     @$(RM) config.log
140 :     @$(RM) autom4te.cache
141 :     @echo "Done"
142 : edgomez 824
143 :     list-objects:
144 :     @echo
145 :     @echo "Object files used for this build"
146 :     @echo "---------------------------------------------------------------"
147 :     @echo
148 :     @echo $(OBJECTS)
149 :     @echo
150 :    
151 :     list-targets:
152 :     @echo
153 :     @echo "Target Libraries"
154 :     @echo "---------------------------------------------------------------"
155 :     @echo
156 :     @echo Shared library: $(SHARED_LIB)
157 :     @echo Static library: $(STATIC_LIB)
158 :     @echo
159 :    
160 :     list-install-path:
161 :     @echo
162 :     @echo "Install Paths"
163 :     @echo "---------------------------------------------------------------"
164 :     @echo
165 :     @echo Include: $(includedir)
166 :     @echo Library: $(libdir)
167 :     @echo
168 :    
169 : edgomez 845 list-cflags:
170 :     @echo
171 :     @echo "Using CFLAGS"
172 :     @echo "---------------------------------------------------------------"
173 :     @echo
174 :     @echo CFLAGS=$(CFLAGS)
175 :     @echo
176 :    
177 :     info: list-objects list-cflags list-targets list-install-path

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