[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 845 - (view) (download)
Original Path: trunk/xvidcore/build/generic/Makefile

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 :     STATIC_LIB=libxvidcore.$(STATIC_EXTENSION)
35 :     SHARED_LIB=libxvidcore.$(SHARED_EXTENSION)
36 :    
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