File: makefile

package info (click to toggle)
tinyscheme 1.37-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 288 kB
  • ctags: 686
  • sloc: ansic: 4,454; lisp: 452; makefile: 104
file content (96 lines) | stat: -rw-r--r-- 2,115 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Makefile for TinyScheme 
# Time-stamp: <2002-06-24 14:13:27 gildea> 

PREFIX=$(DESTDIR)/usr
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/share/man/man1
INCDIR=$(PREFIX)/include
LIBDIR=$(PREFIX)/lib/tinyscheme
  
# Windows/2000 
#CC = cl -nologo 
#DEBUG= -W3 -Z7 -MD 
#DL_FLAGS= 
#SYS_LIBS= 
#Osuf=obj 
#SOsuf=dll 
#LIBsuf=.lib
#EXE_EXT=.exe 
#LD = link -nologo 
#LDFLAGS = -debug -map -dll -incremental:no 
#LIBPREFIX = 
#OUT = -out:$@ 
#RM= -del
#AR= echo

# Unix, generally 
CC = gcc -fpic 
DEBUG=-g -Wall -Wno-char-subscripts -O 
Osuf=o 
SOsuf=so 
LIBsuf=a
EXE_EXT=
LIBPREFIX=lib
OUT = -o $@ 
RM= -rm -f
AR= ar crs
 
# Linux 
LD = gcc 
LDFLAGS = -shared 
DEBUG=-g -Wno-char-subscripts -O
SYS_LIBS= -ldl -lm
PLATFORM_FEATURES= -DSUN_DL=1

 
# Solaris 
#SYS_LIBS= -ldl -lc 
#Osuf=o 
#SOsuf=so 
#EXE_EXT= 
#LD = ld 
#LDFLAGS = -G -Bsymbolic -z text 
#LIBPREFIX = lib 
#OUT = -o $@ 
 
FEATURES = $(PLATFORM_FEATURES) -DUSE_DL=1 -DUSE_MATH=1 -DUSE_ASCII_NAMES=0 -DInitFile=\"$(LIBDIR)/init.scm\"
 
OBJS = scheme.$(Osuf) dynload.$(Osuf) 
 
LIBTARGET = $(LIBPREFIX)tinyscheme.$(SOsuf) 
STATICLIBTARGET = $(LIBPREFIX)tinyscheme.$(LIBsuf)

all: $(LIBTARGET) $(STATICLIBTARGET) scheme$(EXE_EXT)

install: scheme
	install -m 755 -d $(BINDIR) $(MANDIR) $(LIBDIR)
	install -m 755 $< $(BINDIR)/tinyscheme
	install -m 644 debian/tinyscheme.1 $(MANDIR)
	install -m 644 init.scm $(LIBDIR)

%.$(Osuf): %.c 
	$(CC) -I. -c $(DEBUG) $(FEATURES) $(DL_FLAGS) $< 

$(LIBTARGET): $(OBJS) 
	$(LD) $(LDFLAGS) $(OUT) $(OBJS) $(SYS_LIBS) 

scheme$(EXE_EXT): $(OBJS) 
	$(CC) -o $@ $(DEBUG) $(OBJS) $(SYS_LIBS) 

$(STATICLIBTARGET): $(OBJS)
	$(AR) $@ $(OBJS)

$(OBJS): scheme.h scheme-private.h opdefines.h
dynload.$(Osuf): dynload.h 

clean: 
	$(RM) $(OBJS) $(LIBTARGET) $(STATICLIBTARGET) scheme$(EXE_EXT)
	$(RM) tinyscheme.ilk tinyscheme.map tinyscheme.pdb tinyscheme.exp
	$(RM) scheme.ilk scheme.map scheme.pdb scheme.lib scheme.exp
	$(RM) *~

TAGS_SRCS = scheme.h scheme.c dynload.h dynload.c

tags: TAGS 
TAGS: $(TAGS_SRCS) 
	etags $(TAGS_SRCS)