summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 91a1580746682e204641967bd728bf6c9490f7ab (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
RM	= erase

CC	= g++

# Mingw32
CFLAGS	= -g -I. -DHAVE_CONFIG_H -Wall

# Cygwin G++
#CFLAGS	= -fhandle-exceptions -I. -DHAVE_CONFIG_H -Wall

LD	= gcc -mdll -e _DllMain@12

OBJS	= attr.o cancel.o cleanup.o condvar.o create.o dll.o \
	  exit.o fork.o global.o misc.o mutex.o private.o sched.o \
	  semaphore.o signal.o sync.o tsd.o

INCL	= implement.h pthread.h windows.h

DLL     = pthread.dll

LIB	= libpthread32.a


all:	$(DLL)

$(LIB):	$(OBJS)
	$(AR) r $@ $^

.SUFFIXES: .dll

$(DLL): $(OBJS) 
	$(LD) -o $@ $^ -Wl,--base-file,$*.base
	dlltool --base-file=$*.base --def $*.def --output-exp $*.exp --dllname $@
	$(LD) -o $@ $^ -Wl,--base-file,$*.base,$*.exp
	dlltool --base-file=$*.base --def $*.def --output-exp $*.exp --dllname $@
	$(LD) -o $@ $^ -Wl,$*.exp
	dlltool --def $*.def --output-lib $*.lib --dllname $@

clean:
	-$(RM) *~
	-$(RM) $(LIB)
	-$(RM) *.o 
	-$(RM) *.exe
	-$(RM) $(DLL) 
	-$(RM) $(DLL:.dll=.base)
	-$(RM) $(DLL:.dll=.exp)
	-$(RM) $(DLL:.dll=.lib)