summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorrpj <rpj>1999-02-18 01:12:37 +0000
committerrpj <rpj>1999-02-18 01:12:37 +0000
commitb47991f6985f37396bdea6611f464ea7701b012a (patch)
tree329626b177fe29c3529149ab86bfd2d941dc8a42 /Makefile
parent4283bb6d921d8ab782cd37ebafe36723a1e0b124 (diff)
Sat Feb 18 16:2s1703:30 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* Makefile.in: Use libpthread32.a as the name of the DLL export library instead of pthread.lib. * condvar.c (pthread_cond_init): cv could have been used unitialised; initialise. * create.c (pthread_create): parms could have been used unitialised; initialise. Add "Makefile" for people who don't want to (or can't) run ./configure.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile49
1 files changed, 49 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4ee92b0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,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)