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