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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
--- Makefile.common.orig Wed Feb 21 13:04:34 2001
+++ Makefile.common Sat Feb 24 00:00:00 2001
@@ -135,14 +135,14 @@
# MERGE STUFF
-$(MERGE_OBJECTS): %.o2: $(SRCSUBDIR)/%.c
+$(MERGE_OBJECTS): %.o2: $(SRCSUBDIR)/%.c $(HEADERLINKS)
# Note that the user may have configured -I options into CFLAGS.
$(CC) -c $(INCLUDE) $(CFLAGS) "-Dmain=$*_main" -o $@ $<
merge.h:
$(SRCDIR)/make_merge.sh $(MERGEBINARIES)
-$(MERGENAME).o: $(SRCSUBDIR)/$(MERGENAME).c merge.h
+$(MERGENAME).o: $(SRCSUBDIR)/$(MERGENAME).c merge.h $(HEADERLINKS)
$(CC) $(CFLAGS) -Wno-implicit $(INCLUDE) -c -o $@ $<
$(MERGENAME): $(MERGENAME).o $(MERGE_OBJECTS) $(NETPBMLIBS) $(LIBOPT)
@@ -155,24 +155,20 @@
$(LIBOBJECTS): %.o: $(SRCSUBDIR)/%.c $(HEADERLINKS)
# Note that the user may have configured -I options into CFLAGS.
+ $(CC) -c $(INCLUDE) $(CFLAGS) -o $@ $<
+
+$(SHLIBOBJECTS): %.lo: $(SRCSUBDIR)/%.c $(HEADERLINKS)
$(CC) -c $(INCLUDE) $(CFLAGS) $(CFLAGS_SHLIB) -o $@ $<
-SONAME = lib$(LIBROOT).so.$(MAJ)
+SONAME = lib$(LIBROOT).so.$(SOVER)
# The libxxx.so link is needed to link the executables.
lib$(LIBROOT).so: $(SONAME)
rm -f $@
ln -s $< $@
-# The $(SONAME) link is only needed to test the programs without
-# installing the libraries (in that case, you also need to direct the
-# dynamic linker to the source directories, e.g. set LD_LIBRARY_PATH).
-$(SONAME): lib$(LIBROOT).so.$(MAJ).$(MIN)
- rm -f $@
- ln -s $< $@
-lib$(LIBROOT).so.$(MAJ).$(MIN): $(LIBOBJECTS) $(LIBOBJECTS_X) $(LIBLIBS) \
- $(LIBOPT)
- $(LD) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
- `$(LIBOPT) $(LIBLIBS)` -lc
+$(SONAME): $(SHLIBOBJECTS) $(LIBOBJECTS_X) $(LIBLIBS) $(LIBOPT) lib$(LIBROOT).a
+ $(LD) $(LDSHLIB) -o $@ $(SHLIBOBJECTS) $(LIBOBJECTS_X) \
+ `$(LIBOPT) $(LIBLIBS)` $(LDFLAGS)
# Static library. Unused by default, but with a small change to make files...
lib$(LIBROOT).a: $(LIBOBJECTS) $(LIBOBJECTS_X)
@@ -202,7 +198,7 @@
install.merge.common: $(MERGENAME) $(NOMERGEBINARIES) install.script
cd $(INSTALLBINARIES) ; rm -f $(BINARIES) $(MERGE_ALIASES)
ifneq ($(MERGENAME)x,x)
- $(INSTALL) -c $(STRIPFLAG) -m $(INSTALL_PERM_BIN) \
+ ${BSD_INSTALL_PROGRAM} \
$(MERGENAME) $(INSTALLBINARIES)
cd $(INSTALLBINARIES) ; \
for i in $(MERGEBINARIES) $(MERGE_ALIASES) ; \
@@ -212,7 +208,7 @@
ifneq ($(NOMERGEBINARIES)x,x)
for x in $(NOMERGEBINARIES); \
do \
- $(INSTALL) -c $(STRIPFLAG) -m $(INSTALL_PERM_BIN) \
+ ${BSD_INSTALL_PROGRAM} \
$$x $(INSTALLBINARIES); \
done
endif
@@ -223,7 +219,7 @@
# Make and Install know that pbmmake.exe counts as pbmmake.
for x in $(BINARIES); \
do \
- $(INSTALL) -c $(STRIPFLAG) -m $(INSTALL_PERM_BIN) \
+ ${BSD_INSTALL_PROGRAM} \
$$x $(INSTALLBINARIES); \
done
@@ -232,7 +228,7 @@
ifneq ($(SCRIPTS)x,x)
for x in $(SCRIPTS); \
do \
- $(INSTALL) -c -m $(INSTALL_PERM_BIN) $(SRCSUBDIR)/$$x \
+ ${BSD_INSTALL_SCRIPT} $(SRCSUBDIR)/$$x \
$(INSTALLSCRIPTS); \
done
endif
@@ -269,7 +265,7 @@
# directory when you compile your programs.
for x in $(INTERFACE_HEADERS); \
do \
- $(INSTALL) -c -m $(INSTALL_PERM_HDR) $(SRCSUBDIR)/$$x \
+ ${BSD_INSTALL_DATA} $(SRCSUBDIR)/$$x \
$(INSTALLHDRS); \
done
@@ -277,15 +273,14 @@
#
.PHONY: install.staticlib
install.staticlib: lib$(LIBROOT).a
- $(INSTALL) -c -m $(INSTALL_PERM_LIBS) $< $(INSTALLLIBS)/$<
+ ${BSD_INSTALL_DATA} $< $(INSTALLLIBS)/$<
.PHONY: install.lib.common
# install a shared library
-install.lib.common: lib$(LIBROOT).so.$(MAJ).$(MIN)
- cd $(INSTALLLIBS) ; rm -f lib$(LIBROOT).so.$(MAJ).*
- $(INSTALL) -c -m $(INSTALL_PERM_LIBD) $< $(INSTALLLIBS)
+install.lib.common: $(SONAME)
+ cd $(INSTALLLIBS) ; rm -f lib$(LIBROOT).so.*
+ ${BSD_INSTALL_DATA} $< $(INSTALLLIBS)
cd $(INSTALLLIBS) ; rm -f lib$(LIBROOT).so; ln -s $< lib$(LIBROOT).so
- cd $(INSTALLLIBS) ; rm -f $(SONAME); ln -s $< $(SONAME)
.PHONY: clean.common
clean.common:
|