summaryrefslogtreecommitdiff
path: root/libthreads/Makefile
blob: 639dc8ee57050d872855ac406823c49a8d68daa1 (plain)
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
# 
#   Copyright (C) 1994 Free Software Foundation
#
#   This program is free software; you can redistribute it and/or
#   modify it under the terms of the GNU General Public License as
#   published by the Free Software Foundation; either version 2, or (at
#   your option) any later version.
#
#   This program is distributed in the hope that it will be useful, but
#   WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#   General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

dir := libthreads

# This is currently i386 specific. XXX 

include ../Makeconf

# In GNU mig_support.c, sync.c and machine/lock.s are omitted; that work is
# all done in libc.
generic-sources = call.c cprocs.c cthread_data.c cthreads.c stack.c 
machine-sources = csw.S thread.c
sources = $(generic-sources) $(addprefix $(machine)/,$(machine-sources))
objects = $(addsuffix .o,$(basename $(notdir $(sources))))
headers = cthreads.h
malloc-sources = malloc.c
malloc-objects = $(addsuffix .o,$(basename $(notdir $(malloc-sources))))

DIST_FILES = $(generic-sources) $(headers) \
	     cthread_internals.h options.h \
	     ChangeLog Makefile $(malloc-sources)

# In GNU machine/cthreads.h is omitted; that work is done in libc headers.
I386_DIST_FILES = $(addprefix i386/,$(machine-sources)) i386/asm.h

VPATH = $(machine)

all: libthreads.a libmalloc.a

libthreads.a: $(objects)
	rm -f libthreads.a
	$(AR) r $@ $^

libmalloc.a: $(malloc-objects)
	rm -f libmalloc.a
	$(AR) r $@ $^

$(hurdinst)/lib/libthreads.a: libthreads.a
	cp libthreads.a $@
	$(RANLIB) $@

$(hurdinst)/include/cthreads.h: cthreads.h
	cp $< $@

$(hurdinst)/lib/libmalloc.a: libmalloc.a
	cp $< $@
	$(RANLIB) $@

install: $(hurdinst)/lib/libthreads.a $(hurdinst)/include/cthreads.h $(hurdinst)/lib/libmalloc.a

$(objects): cthreads.h cthread_internals.h options.h \
	 i386/asm.h

clean:
	rm -f libthreads.a *.o libmalloc.a

lndist: lndist-i386-files

lndist-i386-files: $(hurdsource)/hurd-snap/$(dir)/i386
	ln $(I386_DIST_FILES) $(hurdsource)/hurd-snap/$(dir)/i386

$(hurdsource)/hurd-snap/$(dir)/i386:
	mkdir $(hurdsource)/hurd-snap/$(dir)/i386

TAGS: $(sources) $(headers)
	etags -T $^