summaryrefslogtreecommitdiff
path: root/libthreads/Makefile
blob: b10ddb81112dba96de97367caf60d73468c8ee4f (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
# 
#   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 and machine/lock.s are omitted; that work is all
# done in libc.
generic-sources = call.c cprocs.c cthread_data.c cthreads.c \
		  malloc.c stack.c sync.c
machine-sources = csw.S thread.c
sources = $(generic-sources) $(addprefix $(machine)/,$(machine-sources))
objects = $(addsuffix .o,$(basename $(notdir $(sources))))
headers = cthreads.h

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

# 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

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

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

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

$(hurdinst)/lib/malloc.o: malloc.o
	cp $< $@

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

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

clean:
	rm -f libthreads.a *.o

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 $^