# META-NOTE: this note is different from the note in the other Makefiles! # NOTE: Makefile.pre.in is converted into Makefile.pre by the configure # script in the toplevel directory or by ../config.status. # Makefile.pre is converted into Makefile by running the makesetup # script in the source directory. Once Makefile exists, it can be # brought up to date by running "make Makefile". (The makesetup also # creates config.c from config.c.in in the source directory.) LINKCC = $(CC) # === Variables set by makesetup === MODOBJS= _MODOBJS_ MODLIBS= _MODLIBS_ # === Definitions added by makesetup === # === Variables set by configure === srcdir= @srcdir@ VPATH= @srcdir@ CC= @CC@ RANLIB= @RANLIB@ AR= @AR@ DEFS= @DEFS@ LIBS= @LIBS@ LIBM= @LIBM@ LIBC= @LIBC@ # Machine-dependent subdirectories MACHDEP= @MACHDEP@ # Install prefix for architecture-independent files prefix= @prefix@ # Install prefix for architecture-dependent files exec_prefix= @exec_prefix@ # Symbols used for using shared libraries SO= @SO@ LDSHARED= @LDSHARED@ CCSHARED= @CCSHARED@ LINKFORSHARED= @LINKFORSHARED@ DESTSHARED= $(exec_prefix)/lib/python/$(MACHDEP) # === Variables that are customizable by hand === INCLDIR= $(srcdir)/../Include OPT= @OPT@ CFLAGS= $(OPT) -I$(INCLDIR) -I.. $(DEFS) MKDEP= mkdep SHELL= /bin/sh MAKESETUP= $(srcdir)/makesetup # === Fixed definitions === OBJS= $(MODOBJS) LIB= libModules.a MYLIBS= $(LIB) \ ../Python/libPython.a \ ../Objects/libObjects.a \ ../Parser/libParser.a SYSLIBS= $(LIBM) $(LIBC) # === Rules === all: $(LIB) ../python sharedmods $(LIB): $& $(OBJS) Makefile -rm -f $(LIB) $(AR) cr $(LIB) $(OBJS) $(RANLIB) $(LIB) ../python: config.o $(MYLIBS) Makefile $(LINKCC) $(OPT) config.o $(LINKFORSHARED) \ $(MYLIBS) $(MODLIBS) $(LIBS) $(SYSLIBS) -o python mv python ../python config.o: config.c Makefile $(MYLIBS) $(LINKCC) $(CFLAGS) -DPYTHONPATH=\"$(PYTHONPATH)\" -c config.c clean: -rm -f *.o python core *~ [@,#]* *.old *.orig *.rej clobber: clean -rm -f *.a tags TAGS config.c glmodule.c Makefile.pre -rm -f *.so so_locations config.c Makefile: Makefile.pre config.c.in $(MAKESETUP) Setup $(SHELL) $(MAKESETUP) Setup Setup: cp $(srcdir)/Setup.in Setup Makefile.pre: Makefile.pre.in ../config.status (cd ..; CONFIG_FILES=Modules/Makefile.pre CONFIG_HEADERS= \ $(SHELL) config.status) depend: $(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \ sed 's|\(.*\)\.o|$(srcdir)/\1.c|'` .PRECIOUS: ../python glmodule.c: $(srcdir)/cgen.py $(srcdir)/cstubs python $(srcdir)/cgen.py <$(srcdir)/cstubs >glmodule.c almodule.o: almodule.c arraymodule.o: arraymodule.c audioop.o: audioop.c cdmodule.o: cdmodule.c clmodule.o: clmodule.c dbmmodule.o: dbmmodule.c fcntlmodule.o: fcntlmodule.c flmodule.o: flmodule.c fmmodule.o: fmmodule.c glmodule.o: glmodule.c imageop.o: imageop.c imgfile.o: imgfile.c mathmodule.o: mathmodule.c md5c.o: md5c.c md5module.o: md5module.c mpzmodule.o: mpzmodule.c nismodule.o: nismodule.c parsermodule.o: parsermodule.c posixmodule.o: posixmodule.c pwdmodule.o: pwdmodule.c regexmodule.o: regexmodule.c regexpr.o: regexpr.c rgbimgmodule.o: rgbimgmodule.c rotormodule.o: rotormodule.c selectmodule.o: selectmodule.c sgimodule.o: sgimodule.c socketmodule.o: socketmodule.c stdwinmodule.o: stdwinmodule.c stropmodule.o: stropmodule.c structmodule.o: structmodule.c sunaudiodev.o: sunaudiodev.c svmodule.o: svmodule.c threadmodule.o: threadmodule.c timemodule.o: timemodule.c timingmodule.o: timingmodule.c xxmodule.o: xxmodule.c yuvconvert.o: yuvconvert.c # Rules to build and install all shared modules sharedmods: $(SHAREDMODS) sharedinstall: $(DESTSHARED) $(SHAREDMODS) -for i in dummy $(SHAREDMODS); do \ if test -f $$i; then mv $$i $(DESTSHARED)/$$i; fi; done $(DESTSHARED): mkdir $(DESTSHARED) # Stuff is appended here by makesetup and make depend