[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 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