# Makefile to do general-coverage creation of dynamic-load libraries # from python C-module sources. # $Id$ # Created by Ken Manheimer, Jul-1994. ken.manheimer@nist.gov, 301 975-3539 # To configure for your site, select the appropriate SOURCES and macro # def and assign the right path to the prefix macro. ARCH= sun4 prefix= /depot/sundry DESTLIB= $(prefix)/lib/python/$(ARCH) ### For Sun Make; tested in v 1.0, under both SunOS 4.1.3 and SunOS 5.3: #SOURCES:sh= echo *.c ### For Gnu Make; works at least for v 3.59: SOURCES= $(wildcard *.c) # To configure for a new module: # - put the module in the current directory # - if it doesn't require any special compile or load options, that's it. # - if it does require special compile or load options, create a macro # composed of the (full) module name, sans suffix, plus 'CFLAGS' or # 'LDFLAGS', depending on the compile phase in question. metalbasemoduleCFLAGS= -I$(prefix)/include/mbase51 -DNO_TIMEB -DNO_USHORT -DNO_ENCRYPT metalbasemoduleLDFLAGS= -L/depot/sundry/plat/lib -lmb cursesmoduleCFLAGS= -I/usr/5include cursesmoduleLDFLAGS= -L/usr/5lib -lcurses -ltermcap OBJS= $(SOURCES:.c=.so) CC= gcc OPT= -g -O DEFS= -DHAVE_CONFIG_H INCLDIR= $(prefix)/include/python CFLAGS= $(OPT) -I$(INCLDIR) -I.. $(DEFS) LD= ld all: $(OBJS) %.o: %.c $(CC) -c $(CFLAGS) $(CPPFLAGS) $($*CFLAGS) -o $@ $< %.so: %.o $(LD) $(LDFLAGS) -o $@ $< $($*LDFLAGS) $(LOADLIBES) PHONY: echo # For testing derivation of $(OBJS). echo: @echo "(Set SOURCES def if you don't see a '.so' for each '.c' between the brackets)" @echo :$(OBJS): PHONY : install install: $(OBJS) ls $(OBJS) | cpio -pm $(DESTLIB) PHONY : clean clean: rm -f *.o *.so