blob: 4ee92b0cbd8402864790eafeb63207c4317363b6 (
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
 | RM	= erase
CC	= g++
AR	= ar
LD	= gcc -mdll -e _DllMain@12
OPT	= -g -O2
## Mingw32
CFLAGS	= $(OPT) -I. -DHAVE_CONFIG_H -Wall
## Cygwin G++
#CFLAGS	= $(OPT) -fhandle-exceptions -I. -DHAVE_CONFIG_H -Wall
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:	$(LIB)
$(LIB): $(DLL)
	dlltool --def $(DLL:.dll=.def) --output-lib $@ --dllname $(DLL)
.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
clean:
	-$(RM) *~
	-$(RM) $(LIB)
	-$(RM) *.o 
	-$(RM) *.exe
	-$(RM) $(DLL) 
	-$(RM) $(DLL:.dll=.base)
	-$(RM) $(DLL:.dll=.exp)
 |