aboutsummaryrefslogtreecommitdiff
path: root/src/makefiles/Makefile.aix
blob: a9ba100305c4dda7988dcb4f5075fe24b93c17da (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
# MAKE_EXPORTS is required for svr4 loaders that want a file of
# symbol names to tell them what to export/import.
MAKE_EXPORTS= true

RANLIB= touch
MK_NO_LORDER= true
AROPT = crs

DLSUFFIX = .so
ifneq ($(GCC), yes)
  ifeq ($(host_os), aix3.2.5)
    LDFLAGS_SL = -e _nostart
  endif
  ifneq (,$(findstring aix4.1, $(host_os)))
    LDFLAGS_SL = -bnoentry
  endif
endif


EXPSUFF= .exp
IMPSUFF= .imp

POSTGRES_IMP= postgres$(IMPSUFF)

MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh

$(POSTGRES_IMP):
	@echo Making $@
ifeq ($(host_os), aix3.2.5)
	$(MKLDEXPORT) postgres $(bindir) > $@
else
  ifneq (,$(findstring aix4.1, $(host_os)))
	$(MKLDEXPORT) postgres $(bindir) > $@
  else
	$(MKLDEXPORT) postgres . > $@
  endif
endif
	$(CC) -Wl,-bE:$(top_builddir)/src/backend/$@ -o postgres $(OBJS) $(LDFLAGS) $(LIBS)

%$(EXPSUFF): %.o
	$(MKLDEXPORT) $*.o > $*$(EXPSUFF)

%$(DLSUFFIX): %.o %$(EXPSUFF)
	@echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp
	$(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) -o $@ $*.o $(LDFLAGS) $(LIBS) $(LDFLAGS_SL)