aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorRamiro Polla <ramiro.polla@gmail.com>2007-06-28 05:50:08 +0000
committerRamiro Polla <ramiro.polla@gmail.com>2007-06-28 05:50:08 +0000
commit4c4b268c43f61ec03f07eb883b739135df3f6eb4 (patch)
tree9b3433d5e6fb2c62fb25dc8e83d8982f29bfa968 /Makefile
downloaddlfcn-win32-4c4b268c43f61ec03f07eb883b739135df3f6eb4.tar.gz
dlfcn-win32-4c4b268c43f61ec03f07eb883b739135df3f6eb4.tar.bz2
dlfcn-win32-4c4b268c43f61ec03f07eb883b739135df3f6eb4.zip
Initial Revision
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile77
1 files changed, 77 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f98579a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,77 @@
1#
2# dlfcn-win32 Makefile
3#
4include config.mak
5
6ifeq ($(BUILD_SHARED),yes)
7 TARGETS+=libdl.dll
8 SHFLAGS+=-Wl,--out-implib,libdl.dll.a
9 INSTALL+=shared-install
10endif
11ifeq ($(BUILD_STATIC),yes)
12 TARGETS+=libdl.a
13 INSTALL+=static-install
14endif
15ifeq ($(BUILD_MSVC),yes)
16 SHFLAGS+=-Wl,--output-def,libdl.def
17 LIBCMD=lib
18 INSTALL+=lib-install
19else
20 LIBCMD=echo ignoring lib
21endif
22ifeq ($(DO_STRIP),yes)
23 STRIP=strip
24else
25 STRIP=echo ignoring strip
26endif
27
28all: $(TARGETS)
29
30dlfcn.o:
31 $(CC) -o dlfcn.o -c dlfcn.c -O3 -fomit-frame-pointer
32
33libdl.a: dlfcn.o
34 ar cru libdl.a dlfcn.o
35 ranlib libdl.a
36
37libdl.dll: dlfcn.o
38 $(CC) $(SHFLAGS) -shared -o libdl.dll dlfcn.o
39 $(LIBCMD) /machine:i386 /def:libdl.def
40
41shared-install:
42 mkdir -p $(DESTDIR)$(PREFIX)/bin
43 cp libdl.dll $(DESTDIR)$(PREFIX)/bin
44 $(STRIP) $(DESTDIR)$(PREFIX)/bin/libdl.dll
45 mkdir -p $(DESTDIR)$(PREFIX)/lib
46 cp libdl.dll.a $(DESTDIR)$(PREFIX)/lib
47 mkdir -p $(DESTDIR)$(PREFIX)/include
48 cp dlfcn.h $(DESTDIR)$(PREFIX)/include
49
50static-install:
51 mkdir -p $(DESTDIR)$(PREFIX)/lib
52 cp libdl.a $(DESTDIR)$(PREFIX)/lib
53 mkdir -p $(DESTDIR)$(PREFIX)/include
54 cp dlfcn.h $(DESTDIR)$(PREFIX)/include
55
56lib-install:
57 mkdir -p $(DESTDIR)$(PREFIX)/lib
58 cp libdl.lib $(DESTDIR)$(PREFIX)/lib
59
60install: $(INSTALL)
61
62test.exe:
63 $(CC) -o test.exe test.c -L. -ldl
64
65testdll.dll:
66 $(CC) -shared -o testdll.dll testdll.c
67
68test: $(TARGETS) test.exe testdll.dll
69 test.exe
70
71clean::
72 rm -f dlfcn.o libdl.dll libdl.a libdl.def libdl.dll.a libdl.lib libdl.exp test.exe testdll.dll
73
74distclean: clean
75 rm -f config.mak
76
77.PHONY: clean distclean install test