2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
5 # Written by Robert Nelson, June 2006
8 include ../Makefile.inc
21 vpath %.cpp ../../cats
23 ######################################################################
25 # Files files in src/lib
49 ######################################################################
55 all: $(LIBDIR)/libcats.a $(BINDIR)/cats_mysql.dll $(BINDIR)/cats_pgsql.dll $(BINDIR)/cats_bdb.dll
58 @echo "Cleaning `pwd`"
59 $(call clean_obj,$(addprefix $(OBJDIR)/cats_mysql/,mysql.o $(SQL_OBJS)))
60 $(call clean_obj,$(addprefix $(OBJDIR)/cats_pgsql/,postgresql.o $(SQL_OBJS)))
61 $(call clean_obj,$(addprefix $(OBJDIR)/cats_bdb/,sql_cmds.o $(BDB_OBJS)))
62 $(call clean_exe,$(BINDIR)/cats_mysql.dll)
63 $(call clean_exe,$(BINDIR)/cats_pgsql.dll)
64 $(call clean_exe,$(BINDIR)/cats_bdb.dll)
65 $(ECHO_CMD)rm -f $(OBJDIR)/libcats.exp $(LIBDIR)/libcats.a
67 $(LIBDIR)/libcats.a $(OBJDIR)/libcats.exp: bacula_cats.def
68 $(DLLTOOL) --dllname bacula_cats.dll --no-export-all-symbols --input-def bacula_cats.def --output-exp $(OBJDIR)/libcats.exp --output-lib $(LIBDIR)/libcats.a $^
70 $(BINDIR)/cats_mysql.dll: $(addprefix $(OBJDIR)/cats_mysql/,mysql.o $(SQL_OBJS)) $(OBJDIR)/libcats.exp
73 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows $^ $(LIBS_MYSQL) $(LIBS_DLL) -o $@
75 $(BINDIR)/cats_pgsql.dll: $(addprefix $(OBJDIR)/cats_pgsql/,postgresql.o $(SQL_OBJS)) $(OBJDIR)/libcats.exp
78 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows $^ $(LIBS_POSTGRESQL) $(LIBS_DLL) -o $@
80 $(BINDIR)/cats_bdb.dll: $(addprefix $(OBJDIR)/cats_bdb/,sql_cmds.o $(BDB_OBJS)) $(OBJDIR)/libcats.exp
83 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows $^ $(LIBS_DLL) -o $@
86 # Rules for generating from ../cats
89 include ../Makefile.rules
92 $(OBJDIR)/$(1)/%.o: %.c
95 $(ECHO_CMD)$(CXX) -DBUILDING_CATS -DUSING_DLL -DHAVE_$(2) $(CFLAGS) -c $$< -o $$@
97 $(OBJDIR)/$(1)/%.o: %.cpp
100 $(ECHO_CMD)$(CXX) -DBUILDING_CATS -DUSING_DLL -DHAVE_$(2) $(CFLAGS) -c $$< -o $$@
104 $(eval $(call Link_Dll,cats_mysql,MYSQL))
106 $(eval $(call Link_Dll,cats_pgsql,POSTGRESQL))
108 $(eval $(call Link_Dll,cats_bdb,BACULA_DB))