1# ----------
2# Makefile for src/slony_logshipper
3#
4#	Copyright (c) 2003-2009, PostgreSQL Global Development Group
5#	Author: Jan Wieck, Afilias USA INC.
6#
7#
8# ----------
9
10slony_subdir = src/slony_logshipper
11slony_top_builddir = ../..
12SLFILEDESC="Slony command interpreter"
13include $(slony_top_builddir)/Makefile.global
14CPPFLAGS:=$(CPPFLAGS_CLIENT)
15ifeq ($(PORTNAME), aix)
16  CFLAGS += -D_LARGE_FILES
17endif
18
19CFLAGS += -I$(slony_top_builddir) -DPGSHARE="\"$(pgsharedir)\""
20
21
22PROG		= slony_logshipper
23
24ifeq ($(PORTNAME), win)
25PROG            = slony_logshipper.exe
26LDFLAG		= $(LDFLAG) -lpgport
27endif
28ifeq ($(PORTNAME), win32)
29PROG            = slony_logshipper.exe
30LDFLAG		= $(LDFLAG) -lpgport
31endif
32
33OBJS		= 					\
34	slony_logshipper.o			\
35	dbutil.o					\
36	ipcutil.o					\
37	parser.o $(WIN32RES)		\
38	../parsestatements/scanner.o \
39	scan.o
40
41DISTFILES = Makefile $(wildcard *.c) $(wildcard *.h) $(wildcard *.l) $(wildcard *.y)
42
43ALL =					\
44	$(PROG)
45
46
47all:	$(ALL)
48
49$(PROG):	$(OBJS)
50	$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(PROG)
51slony_logshipper.o:			slony_logshipper.c slony_logshipper.h
52dbutil.o:			dbutil.c slony_logshipper.h
53parser.o:			parser.c scan.c
54parser.c:			parser.y slony_logshipper.h
55ifdef YACC
56	$(YACC) -d $(YFLAGS) $<
57	mv -f y.tab.c parser.c
58else
59	@echo "Missing yacc $< $@"
60	@exit 1
61endif
62
63scan.c:	SCANNER_HEADER=scan.h
64scan.c:				scan.l slony_logshipper.h
65ifdef FLEX
66	$(FLEX) $(FLEXFLAGS) --header-file=$(SCANNER_HEADER)  -o'$@' $<
67else
68	@echo "Missing flex $< $@"
69	@exit
70endif
71
72clean distclean:
73	rm -f $(ALL) $(OBJS) $(PROG).core
74
75maintainer-clean:	clean
76	rm -f parser.c scan.c y.tab.h
77
78install: all installdirs
79	$(INSTALL_SCRIPT) $(PROG) $(DESTDIR)$(slonbindir)
80
81
82installdirs:
83	$(mkinstalldirs) $(DESTDIR)$(slonbindir)
84
85
86distdir: $(DISTFILES)
87	mkdir $(distdir)/$(subdir)
88	-chmod 777 $(distdir)/$(subdir)
89	for file in $(DISTFILES) ; do \
90      cp $$file $(distdir)/$(subdir)/$$file || exit; \
91    done
92