Mercurial > dwindows
comparison Makefile.in @ 601:fe6490a13ed2
Simplify and link dwtest with locally built shared libraries
author | mhessling@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 25 Sep 2006 23:14:39 +0000 |
parents | f6de197ecbe9 |
children | f41b7e3a54f6 |
comparison
equal
deleted
inserted
replaced
600:d0e1db21e859 | 601:fe6490a13ed2 |
---|---|
1 srcdir=@srcdir@ | 1 srcdir=@srcdir@ |
2 CC = @CC@ | 2 CC = @CC@ |
3 MLFLAGS = -L. | |
3 CCFLAGS = @CFLAGS@ -g -O2 -fPIC -Wall -D@DW_DEFINE@ -DBUILD_DLL -DDW_RESOURCES | 4 CCFLAGS = @CFLAGS@ -g -O2 -fPIC -Wall -D@DW_DEFINE@ -DBUILD_DLL -DDW_RESOURCES |
4 LFLAGS = @LIBS@ | 5 LFLAGS = @LIBS@ |
5 INSTALL = @INSTALL@ | 6 INSTALL = @INSTALL@ |
6 DW_SRC = @DW_SRC@ | 7 DW_SRC = @DW_SRC@ |
7 INCPATH = -I.. -I. -I$(srcdir) | 8 INCPATH = -I.. -I. -I$(srcdir) |
8 DESTDIR = ./lib/ | |
9 MLFLAGS = -L$(DESTDIR) | |
10 TARGET = dw | 9 TARGET = dw |
11 SRCS = $(srcdir)/$(DW_SRC)/dw.c | 10 SRCS = $(srcdir)/$(DW_SRC)/dw.c |
12 OBJECTS = dw.o | 11 OBJECTS = dw.o |
13 SRCS2 = $(srcdir)compat.c | 12 SRCS2 = $(srcdir)compat.c |
14 OBJECTS2= compat.o | 13 OBJECTS2= compat.o |
15 TARGET2 = dwcompat | 14 TARGET2 = dwcompat |
16 VER_MAJ = 1 | 15 VER_MAJ = 0 |
17 VER_MIN = 0 | 16 VER_MIN = 9 |
18 SOSUFFIX= @SOSUFFIX@ | 17 SOSUFFIX= @SOSUFFIX@ |
19 PREFIX = @prefix@ | 18 PREFIX = $(DESTDIR)@prefix@ |
20 SRCDIR=dwindows-$(VER_MAJ).$(VER_MIN) | 19 SRCDIR=dwindows-$(VER_MAJ).$(VER_MIN) |
21 | 20 |
22 #.SUFFIXES: .c .h | 21 #.SUFFIXES: .c .h |
23 | 22 |
24 #.c.o: | 23 #.c.o: |
25 # $(CC) -c $(CCFLAGS) $(INCPATH) -o $@ $< | 24 # $(CC) -c $(CCFLAGS) $(INCPATH) -o $@ $< |
26 | 25 |
27 | 26 |
28 # Link flags shared objects | 27 # Link flags shared objects |
29 SYSCONF_LFLAGS_SHOBJ = @SHAREDFLAG@ | 28 SYSCONF_LFLAGS_SHOBJ = @SHAREDFLAG@ |
30 | 29 |
31 # Linking shared libraries | 30 # Linking shared libraries |
32 # - Build the $(TARGET) library, eg. lib$(TARGET).so.0.0 | 31 # - Build the $(TARGET) library, eg. lib$(TARGET).so.0.0 |
33 # - Place target in $(DESTDIR) - which has a trailing / | |
34 # - Usually needs to incorporate $(VER_MAJ) and $(VER_MIN) | 32 # - Usually needs to incorporate $(VER_MAJ) and $(VER_MIN) |
35 # | 33 # |
36 SYSCONF_LINK_SHLIB = gcc | 34 SYSCONF_LINK_SHLIB = gcc |
37 SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).$(SOSUFFIX).$(VER_MAJ).$(VER_MIN) | 35 SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).$(SOSUFFIX).$(VER_MAJ).$(VER_MIN) |
38 SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) $(SYSCONF_LFLAGS_SHOBJ) \ | 36 SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) $(SYSCONF_LFLAGS_SHOBJ) \ |
39 -o $(SYSCONF_LINK_TARGET_SHARED) \ | 37 -o $(SYSCONF_LINK_TARGET_SHARED) \ |
40 $(OBJECTS) $(LFLAGS); \ | 38 $(OBJECTS) $(LFLAGS); \ |
41 mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \ | |
42 cd $(DESTDIR); \ | |
43 rm -f lib$(TARGET).$(SOSUFFIX) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ); \ | 39 rm -f lib$(TARGET).$(SOSUFFIX) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ); \ |
44 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX); \ | 40 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX); \ |
45 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ) | 41 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ) |
46 | 42 |
47 SYSCONF_LINK_TARGET_SHARED2 = lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ).$(VER_MIN) | 43 SYSCONF_LINK_TARGET_SHARED2 = lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ).$(VER_MIN) |
48 SYSCONF_LINK_LIB_SHARED2 = $(SYSCONF_LINK_SHLIB) $(SYSCONF_LFLAGS_SHOBJ) \ | 44 SYSCONF_LINK_LIB_SHARED2 = $(SYSCONF_LINK_SHLIB) $(SYSCONF_LFLAGS_SHOBJ) \ |
49 -o $(SYSCONF_LINK_TARGET_SHARED2) \ | 45 -o $(SYSCONF_LINK_TARGET_SHARED2) \ |
50 $(OBJECTS2) $(LFLAGS); \ | 46 $(OBJECTS2) $(LFLAGS); \ |
51 mv $(SYSCONF_LINK_TARGET_SHARED2) $(DESTDIR); \ | |
52 cd $(DESTDIR); \ | |
53 rm -f lib$(TARGET2).$(SOSUFFIX) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ); \ | 47 rm -f lib$(TARGET2).$(SOSUFFIX) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ); \ |
54 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX); \ | 48 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX); \ |
55 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) | 49 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) |
56 | 50 |
57 | 51 |
58 # Linking static libraries | 52 # Linking static libraries |
59 # - Build the $(TARGET) library, eg. lib$(TARGET).a | 53 # - Build the $(TARGET) library, eg. lib$(TARGET).a |
60 # - Place target in $(DESTDIR) - which has a trailing / | |
61 # | 54 # |
62 SYSCONF_AR = ar cqs | 55 SYSCONF_AR = ar cqs |
63 SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a | 56 SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a |
64 SYSCONF_LINK_LIB_STATIC = rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \ | 57 SYSCONF_LINK_LIB_STATIC = rm -f $(SYSCONF_LINK_TARGET_STATIC) ; \ |
65 $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) | 58 $(SYSCONF_AR) $(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) |
66 | 59 |
67 | 60 |
68 | 61 |
69 ####### Build rules | 62 ####### Build rules |
70 | 63 |
75 SYSCONF_LINK_LIB2 = $(SYSCONF_LINK_LIB_SHARED2) | 68 SYSCONF_LINK_LIB2 = $(SYSCONF_LINK_LIB_SHARED2) |
76 | 69 |
77 all: $(SYSCONF_LINK_TARGET) $(SYSCONF_LINK_TARGET2) dwtest | 70 all: $(SYSCONF_LINK_TARGET) $(SYSCONF_LINK_TARGET2) dwtest |
78 | 71 |
79 install: | 72 install: |
73 $(INSTALL) -d $(PREFIX)/include; \ | |
74 $(INSTALL) -d $(PREFIX)/bin; \ | |
75 $(INSTALL) -d $(PREFIX)/lib; \ | |
80 $(INSTALL) $(srcdir)/dw.h $(PREFIX)/include; \ | 76 $(INSTALL) $(srcdir)/dw.h $(PREFIX)/include; \ |
81 $(INSTALL) $(srcdir)/compat.h $(PREFIX)/include; \ | |
82 $(INSTALL) dw-config $(PREFIX)/bin; \ | 77 $(INSTALL) dw-config $(PREFIX)/bin; \ |
83 cd $(DESTDIR); \ | 78 $(INSTALL) dwtest $(PREFIX)/bin; \ |
84 $(INSTALL) $(SYSCONF_LINK_TARGET) $(PREFIX)/lib; \ | 79 $(INSTALL) $(SYSCONF_LINK_TARGET) $(PREFIX)/lib; \ |
85 $(INSTALL) $(SYSCONF_LINK_TARGET2) $(PREFIX)/lib; \ | 80 $(INSTALL) $(SYSCONF_LINK_TARGET2) $(PREFIX)/lib; \ |
86 cd $(PREFIX)/lib; \ | 81 cd $(PREFIX)/lib; \ |
87 rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ); \ | 82 rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ); \ |
88 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX); \ | 83 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX); \ |
89 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ); \ | 84 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ); \ |
90 rm -f lib$(TARGET2).$(SOSUFFIX) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ); \ | 85 rm -f lib$(TARGET2).$(SOSUFFIX) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ); \ |
91 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX); \ | 86 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX); \ |
92 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) | 87 ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) |
93 | 88 |
94 clean: | 89 clean: |
95 rm -f *.so | 90 rm -f *.so |
96 rm -f *.o | 91 rm -f *.o |
97 rm -f *~ | 92 rm -f *~ |
98 rm -f *.a | 93 rm -f *.a |
99 rm -f $(DW_SRC)/*.o | 94 rm -f $(DW_SRC)/*.o |
100 | 95 |
101 $(DESTDIR): | 96 $(SYSCONF_LINK_TARGET2): $(OBJECTS2) |
102 mkdir $(DESTDIR) | |
103 | |
104 $(SYSCONF_LINK_TARGET2): $(OBJECTS2) $(DESTDIR) | |
105 $(SYSCONF_LINK_LIB2) | 97 $(SYSCONF_LINK_LIB2) |
106 | 98 |
107 $(SYSCONF_LINK_TARGET): $(OBJECTS) $(DESTDIR) | 99 $(SYSCONF_LINK_TARGET): $(OBJECTS) |
108 $(SYSCONF_LINK_LIB) | 100 $(SYSCONF_LINK_LIB) |
109 | 101 |
110 dw.o: $(srcdir)/$(DW_SRC)/dw.c | 102 dw.o: $(srcdir)/$(DW_SRC)/dw.c |
111 $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/$(DW_SRC)/dw.c | 103 $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/$(DW_SRC)/dw.c |
112 | 104 |
116 ci.o: $(srcdir)/ci.c | 108 ci.o: $(srcdir)/ci.c |
117 $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/ci.c | 109 $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/ci.c |
118 | 110 |
119 dwtest.o: $(srcdir)/dwtest.c | 111 dwtest.o: $(srcdir)/dwtest.c |
120 $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/dwtest.c | 112 $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/dwtest.c |
121 | 113 |
122 ci: ci.o | 114 ci: ci.o |
123 $(CC) -o ci ci.o -L$(PREFIX)/lib -ldw -ldwcompat $(LFLAGS) | 115 $(CC) -o ci ci.o -L$(PREFIX)/lib -ldw -ldwcompat $(LFLAGS) |
124 | 116 |
125 dwtest: dwtest.o | 117 dwtest: dwtest.o |
126 $(CC) -o dwtest dwtest.o -L$(PREFIX)/lib -ldw -ldwcompat $(LFLAGS) | 118 $(CC) -o dwtest dwtest.o $(MLFLAGS) -ldw -ldwcompat $(LFLAGS) |
127 -chmod +x mac/finishup.sh | 119 -chmod +x mac/finishup.sh |
128 -mac/finishup.sh | 120 -mac/finishup.sh |
129 | 121 |
130 zip: | 122 zip: |
131 zip dwindows$(VER_MAJ)$(VER_MIN).zip $(srcdir)/license.txt $(srcdir)/makefile.* $(srcdir)/readme $(srcdir)/*.c $(srcdir)/dw.h $(srcdir)/compat.h \ | 123 zip dwindows$(VER_MAJ)$(VER_MIN).zip $(srcdir)/license.txt $(srcdir)/makefile.* $(srcdir)/readme $(srcdir)/*.c $(srcdir)/dw.h $(srcdir)/compat.h \ |