# +----------------------------------------------------------------------+ # | Aubit 4gl Language Compiler Version $.0 lib makefile | # +----------------------------------------------------------------------+ # | Copyright (c) 2000-1 Aubit Development Team (See Credits file) | # +----------------------------------------------------------------------+ # | This program is free software; you can redistribute it and/or modify | # | it under the terms of one of the following licenses: | # | | # | A) the GNU General Public License as published by the Free Software | # | Foundation; either version 2 of the License, or (at your option) | # | any later version. | # | | # | B) the Aubit License as published by the Aubit Development Team and | # | included in the distribution in the file: LICENSE | # | | # | This program is distributed in the hope that it will be useful, | # | but WITHOUT ANY WARRANTY; without even the implied warranty of | # | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | # | GNU General Public License for more details. | # | | # | You should have received a copy of both licenses referred to here. | # | If you did not, or have any questions about Aubit licensing, please | # | contact afalout@ihug.co.nz | # +----------------------------------------------------------------------+ # # $Id: Makefile,v 1.29 2011/08/30 16:52:48 mikeaubury Exp $ # ROOT =.. #All stuff common to more then one Aubit compiler make file is there: include ${ROOT}/incl/Makefile-common ## ================================================================== ## Source files ## ================================================================== #This make file does not have it's own targets, it only invokes other #make files ## ================================================================== ## Options ## ================================================================== 4GLC =${ROOT}/bin/4glc 4GLPC =${ROOT}/bin/4glpc #target names are maintained in configure.in ALL_LIBS=${LIB_DEFAULT} ${LIB_OPTIONAL} ALL = pluginsdir aubit-config ${ALL_LIBS} ALL_H =$(wildcard ${ROOT}/incl/*.h) LIBAUBIT4GL_PATH =libaubit4gl LIBSQLODBC_PATH =libsql/odbc LIBPACKERPACKED_PATH=libpacker/packed LIBPACKERFORMXML_PATH=libpacker/formxml LIBPACKERMEMPACKED_PATH=libpacker/mempacked LIBPACKERPERL_PATH =libpacker/perl LIBPACKERXDR_PATH =libpacker/xdr LIBPACKERXML_PATH =libpacker/xml LIBPACKERGZPACKED_PATH =libpacker/gzpacked LIBLEXPERL_PATH =liblex/lex_perl LIBLEXWRITE_PATH =liblex/lex_write #OBSOLETE - LIBLEXC_PATH =liblex/lex_c LIBLEXEC_PATH =liblex/lex_esqlc LIBEXREPORTPDF_PATH =libpdf LIBFILE_PATH =extra_libs/file LIBPICK_PATH =extra_libs/pick LIBROMAN_PATH =extra_libs/roman LIBERRHOOK_PATH =extra_libs/errhook LIBBARCODE_PATH =extra_libs/barcode LIBSTRING_PATH =extra_libs/string LIBCHANNEL_PATH =extra_libs/channel LIBESQLCHELPER_PATH =libesql LIBHTML_PATH =${ROOT}/tools/html LIBMEMCACHE_PATH =extra_libs/memcached LIBSQLESQL_PATH =libsql/esqlc LIBUIHL_PATH =libui/ui_highlevel LIBUIXML_PATH=libui/ui_xml LIBUICURSES_PATH =libui/ui_curses LIBUICONSOLE_PATH =libui/ui_console LIBUIGLADE_PATH =libui/ui_glade LIBUIGLADELIB_PATH =libui/ui_glade/glade_lib LIBFORMNOFORM_PATH =libform/noform LIBFORMXDR_PATH =libform/form_xdr LIBFORMGENERIC_PATH =libform/form_generic LIBSQLNOSQL_PATH =libsql/nosql LIBSQLPG_PATH =libsql/postgresql LIBRPCSUNRPC_PATH =librpc/sun_rpc LIBRPCNORPC_PATH =librpc/no_rpc LIBRPCXMLRPC_PATH =librpc/xml_rpc LIBEXDATA_PATH =libexdata LIBESQL_PATH =libesql LIBDATA_PATH =${ROOT}/common/dataio LIBHELP_STD_PATH =libhelp LIBMSGNATIVE_PATH =libmsg/msg_native LIBIMJABBER_PATH =${ROOT}/tools/jabber $@ LOADMAP_PATH =${ROOT}/tools/loadmap AUBITCONFIG_PATH =resource FILESCHEMA_PATH =libsql/schema_in_file MYSQL_PATH =libsql/mysql INGRES_PATH =libsql/ingres LIBPOP_PATH =extra_libs/pop LIBSMTP_PATH =extra_libs/smtp LIBPCRE_PATH =extra_libs/pcre LIBSXML_PATH =extra_libs/sxml #Specify dependencies for libraries, so they get rebuilt if dependencies change: #FIXME: do this for all libraries in this make file LIBAUBIT4GL_DEPS =$(wildcard ${LIBAUBIT4GL_PATH}/*.c) $(wildcard ${LIBAUBIT4GL_PATH}/*.h) \ $(wildcard ${LIBAUBIT4GL_PATH}/*.spec) $(wildcard ${LIBAUBIT4GL_PATH}/Makefile) \ ${AUBITCONFIG_PATH}/resource.c ${ALL_H} AUBITCONFIG_DEPS =$(wildcard ${AUBITCONFIG_PATH}/*.c) $(wildcard ${AUBITCONFIG_PATH}/Makefile) ${ALL_H} LIBDATA_DEPS =$(wildcard ${LIBRPCSUNRPC_PATH}/*.x) $(wildcard ${LIBRPCSUNRPC_PATH}/Makefile) ${ALL_H} LIBMSGNATIVE_DEPS =$(wildcard ${LIBMSGNATIVE_PATH}/*.c) $(wildcard ${LIBMSGNATIVE_PATH}/*.h) \ $(wildcard ${LIBMSGNATIVE_PATH}/Makefile) ${ALL_H} LIBIMJABBER_DEPS =$(wildcard ${LIBIMJABBER_PATH}/*.c) $(wildcard ${LIBIMJABBER_PATH}/*.h) \ $(wildcard ${LIBIMJABBER_PATH}/Makefile) $(wildcard ${LIBIMJABBER_PATH}/*.4gl) ${ALL_H} LOADMAP_DEPS =$(wildcard ${LOADMAP_PATH}/Makefile) $(wildcard ${LOADMAP_PATH}/*.4gl) ${ALL_H} LIBRPCSUNRPC_DEPS =$(wildcard ${LIBRPCSUNRPC_PATH}/*.c) $(wildcard ${LIBRPCSUNRPC_PATH}/*.h) \ $(wildcard ${LIBRPCSUNRPC_PATH}/Makefile) ${ALL_H} LIBRPCNORPC_DEPS =$(wildcard ${LIBRPCNORPC_PATH}/*.c) $(wildcard ${LIBRPCNORPC_PATH}/*.h) \ $(wildcard ${LIBRPCNORPC_PATH}/Makefile) ${ALL_H} LIBRPCXMLRPC_DEPS =$(wildcard ${LIBRPCXMLRPC_PATH}/*.c) $(wildcard ${LIBRPCXMLRPC_PATH}/*.h) \ $(wildcard ${LIBRPCXMLRPC_PATH}/Makefile) ${ALL_H} LIBEXDATA_DEPS =$(wildcard ${LIBEXDATA_PATH}/*.c) $(wildcard ${LIBEXDATA_PATH}/*.h) \ $(wildcard ${LIBEXDATA_PATH}/Makefile) ${ALL_H} LIBESQL_DEPS =$(wildcard ${LIBESQL_PATH}/*.ec) $(wildcard ${LIBESQL_PATH}/*.h) \ $(wildcard ${LIBESQL_PATH}/Makefile) ${ALL_H} LIBSQLNOSQL_DEPS =$(wildcard ${LIBSQLNOSQL_PATH}/*.c) $(wildcard ${LIBSQLNOSQL_PATH}/*.h) \ $(wildcard ${LIBSQLNOSQL_PATH}/Makefile) ${ALL_H} FILESCHEMA_DEPS =$(wildcard ${FILESCHEMA_PATH}/*.c) \ $(wildcard ${FILESCHEMA_PATH}/Makefile) ${ALL_H} MYSQL_DEPS =$(wildcard ${MYSQL_PATH}/*.c) \ $(wildcard ${MYSQL_PATH}/Makefile) ${ALL_H} INGRES_DEPS =$(wildcard ${INGRES_PATH}/*.ec) \ $(wildcard ${INGRES_PATH}/Makefile) $(wildcard ${INGRES_PATH}/makeit) ${ALL_H} LIBHELP_STD_DEPS =$(wildcard ${LIBHELP_STD_PATH}/*.per) $(wildcard ${LIBHELP_STD_PATH}/*.4gl) \ $(wildcard ${LIBHELP_STD_PATH}/Makefile) ${ALL_H} LIBSQLPG_DEPS =$(wildcard ${LIBSQLPG_PATH}/*.cpp) $(wildcard ${LIBSQLPG_PATH}/*.h) \ $(wildcard ${LIBSQLPG_PATH}/*.c) $(wildcard ${LIBSQLPG_PATH}/Makefile) ${ALL_H} LIBSQLODBC_DEPS =$(wildcard ${LIBSQLODBC_PATH}/*.c) $(wildcard ${LIBSQLODBC_PATH}/*.h) \ $(wildcard ${LIBSQLODBC_PATH}/Makefile) ${ALL_H} LIBPACKERPACKED_DEPS=$(wildcard ${LIBPACKERPACKED_PATH}/*.c) $(wildcard ${LIBPACKERPACKED_PATH}/*.h) \ $(wildcard ${LIBPACKERPACKED_PATH}/Makefile) ${ALL_H} LIBPACKERFORMXML_DEPS=$(wildcard ${LIBPACKERFORMXML_PATH}/*.c) $(wildcard ${LIBPACKERFORMXML}/*.h) \ $(wildcard ${LIBPACKERFORMXML_PATH}/Makefile) ${ALL_H} LIBPACKERMEMPACKED_DEPS=$(wildcard ${LIBPACKERMEMPACKED_PATH}/*.c) $(wildcard ${LIBPACKERMEMPACKED_PATH}/*.h) \ $(wildcard ${LIBPACKERMEMPACKED_PATH}/Makefile) ${ALL_H} LIBPACKERPERL_DEPS =$(wildcard ${LIBPACKERPERL_PATH}/*.c) $(wildcard ${LIBPACKERPERL_PATH}/*.h) \ $(wildcard ${LIBPACKERPERL_PATH}/Makefile) ${ALL_H} LIBPACKERXDR_DEPS =$(wildcard ${LIBPACKERXDR_PATH}/*.c) $(wildcard ${LIBPACKERXDR_PATH}/*.h) \ $(wildcard ${LIBPACKERXDR_PATH}/Makefile) ${ALL_H} LIBPACKERXML_DEPS =$(wildcard ${LIBPACKERXML_PATH}/*.c) $(wildcard ${LIBPACKERXML_PATH}/*.h) \ $(wildcard ${LIBPACKERXML_PATH}/Makefile) ${ALL_H} LIBPACKERGZPACKED_DEPS =$(wildcard ${LIBPACKERGZPACKED_PATH}/*.c) $(wildcard ${LIBPACKERGZPACKED_PATH}/*.h) \ $(wildcard ${LIBPACKERGZPACKED_PATH}/Makefile) ${ALL_H} #OBSOLETE-LIBLEXC_DEPS =$(wildcard ${LIBLEXC_PATH}/*.c) $(wildcard ${LIBLEXC_PATH}/*.h) \ # $(wildcard ${LIBLEXC_PATH}/Makefile) ${ALL_H} LIBLEXEC_DEPS =$(wildcard ${LIBLEXEC_PATH}/*.c) $(wildcard ${LIBLEXEC_PATH}/*.h) ${ROOT}/compilers/4glc/API_lex.h \ $(wildcard ${LIBLEXEC_PATH}/Makefile) ${ALL_H} LIBLEXPERL_DEPS =$(wildcard ${LIBLEXPERL_PATH}/*.c) $(wildcard ${LIBLEXPERL_PATH}/*.h) ${ROOT}/compilers/4glc/API_lex.h \ $(wildcard ${LIBLEXPERL_PATH}/Makefile) ${ALL_H} LIBLEXWRITE_DEPS =$(wildcard ${LIBLEXWRITE_PATH}/*.c) $(wildcard ${LIBLEXWRITE_PATH}/*.h) ${ROOT}/compilers/4glc/API_lex.h \ $(wildcard ${LIBLEXWRITE_PATH}/Makefile) ${ALL_H} LIBEXREPORTPDF_DEPS =$(wildcard ${LIBEXREPORTPDF_PATH}/*.c) $(wildcard ${LIBEXREPORTPDF_PATH}/*.h) \ $(wildcard ${LIBEXREPORTPDF_PATH}/Makefile) ${ALL_H} LIBFILE_DEPS =$(wildcard ${LIBFILE_PATH}/*.c) $(wildcard ${LIBFILE_PATH}/*.h) \ $(wildcard ${LIBFILE_PATH}/Makefile) ${ALL_H} LIBROMAN_DEPS=$(wildcard ${LIBROMAN_PATH}/*.c) $(wildcard ${LIBROMAN_PATH}/*.h) $(wildcard ${LIBROMAN_PATH}/Makefile) ${ALL_H} LIBERRHOOK_DEPS=$(wildcard ${LIBERRHOOK_PATH}/*.c) $(wildcard ${LIBERRHOOK_PATH}/*.h) $(wildcard ${LIBERRHOOK_PATH}/Makefile) ${ALL_H} LIBBARCODE_DEPS=$(wildcard ${LIBBARCODE_PATH}/*.c) $(wildcard ${LIBBARCODE_PATH}/*.h) $(wildcard ${LIBBARCODE_PATH}/Makefile) ${ALL_H} LIBPICK_DEPS =$(wildcard ${LIBPICK_PATH}/*.c) $(wildcard ${LIBPICK_PATH}/*.h) \ $(wildcard ${LIBPICK_PATH}/Makefile) ${ALL_H} LIBESQLCHELPER_DEPS =$(wildcard ${LIBESQLCHELPER_PATH}/*.ec) $(wildcard ${LIBESQLCHELPER_PATH}/Makefile) ${ALL_H} LIBSTRING_DEPS =$(wildcard ${LIBSTRING_PATH}/*.c) $(wildcard ${LIBSTRING_PATH}/*.h) \ $(wildcard ${LIBSTRING_PATH}/Makefile) ${ALL_H} LIBCHANNEL_DEPS =$(wildcard ${LIBCHANNEL_PATH}/*.4gl) \ $(wildcard ${LIBCHANNEL_PATH}/Makefile) ${ALL_H} LIBPOP_DEPS =$(wildcard ${LIBPOP_PATH}/*.4gl) $(wildcard ${LIBPOP_PATH}/Makefile) ${ALL_H} LIBSMTP_DEPS =$(wildcard ${LIBSMTP_PATH}/*.4gl) $(wildcard ${LIBSMTP_PATH}/Makefile) ${ALL_H} LIBPCRE_DEPS =$(wildcard ${LIBPCRE_PATH}/*.4gl) $(wildcard ${LIBPCRE_PATH}/makefile) ${ALL_H} LIBSXML_DEPS =$(wildcard ${LIBPCRE_PATH}/*.4gl) $(wildcard ${LIBPCRE_PATH}/Makefile) ${ALL_H} LIBHTML_DEPS =$(wildcard ${LIBHTML_PATH}/*.c) $(wildcard ${LIBHTML_PATH}/*.h) \ $(wildcard ${LIBHTML_PATH}/Makefile) ${ALL_H} LIBMEMCACHE_DEPS =$(wildcard ${LIBMEMCACHE_PATH}/*.c) $(wildcard ${LIBMEMCACHE_PATH}/*.h) \ $(wildcard ${LIBMEMCACHE_PATH}/Makefile) $(wildcard ${LIBMEMCACHE_PATH}/*.4gl) ${ALL_H} LIBSQLESQL_DEPS =$(wildcard ${LIBSQLESQL_PATH}/*.ec) $(wildcard ${LIBSQLESQL_PATH}/*.h) \ $(wildcard ${LIBSQLESQL_PATH}/Makefile) ${ALL_H} LIBUIGTK_DEPS =$(wildcard ${LIBUIGTK_PATH}/*.c) $(wildcard ${LIBUIGTK_PATH}/*.h) \ $(wildcard ${LIBUIGTK_PATH}/Makefile) ${ALL_H} LIBUIHL_DEPS =$(wildcard ${LIBUIHL_PATH}/*.c) $(wildcard ${LIBUIHL_PATH}/*.h) \ $(wildcard ${LIBUIHL_PATH}/lowlevel/*.c) \ $(wildcard ${LIBUIHL_PATH}/lowlevel/*.h) \ $(wildcard ${LIBUIHL_PATH}/Makefile) ${ALL_H} LIBUICURSES_DEPS =$(wildcard ${LIBUICURSES_PATH}/*.c) $(wildcard ${LIBUICURSES_PATH}/*.h) \ $(wildcard ${LIBUICURSES_PATH}/Makefile) ${ALL_H} LIBUIXML_DEPS =$(wildcard ${LIBUIXML_PATH}/*.c) $(wildcard ${LIBUIXML_PATH}/*.h) \ $(wildcard ${LIBUIXML_PATH}/Makefile) ${ALL_H} \ $(wildcard ${LIBUIXML_PATH}/uilib/*.c) \ $(wildcard ${LIBUIXML_PATH}/uilib/xml/*.c) LIBUICONSOLE_DEPS =$(wildcard ${LIBUICONSOLE_PATH}/*.c) $(wildcard ${LIBUICONSOLE_PATH}/*.h) \ $(wildcard ${LIBUICONSOLE_PATH}/Makefile) ${ALL_H} LIBUIGLADE_DEPS =$(wildcard ${LIBUIGLADE_PATH}/*.c) \ $(wildcard ${LIBUIGLADE_PATH}/Makefile) ${ALL_H} LIBUIGLADELIB_DEPS =$(wildcard ${LIBUIGLADELIB_PATH}/*.4gl) \ $(wildcard ${LIBUIGLADELIB_PATH}/makefile) ${ALL_H} LIBFORMNOFORM_DEPS =$(wildcard ${LIBFORMNOFORM_PATH}/*.c) $(wildcard ${LIBFORMNOFORM_PATH}/*.h) \ $(wildcard ${LIBFORMNOFORM_PATH}/Makefile) ${ALL_H} LIBFORMXDR_DEPS =$(wildcard ${LIBFORMXDR_PATH}/*.c) $(wildcard ${LIBFORMXDR_PATH}/*.h) \ $(wildcard ${LIBFORMXDR_PATH}/Makefile) ${ALL_H} LIBFORMGENERIC_DEPS =$(wildcard ${LIBFORMGENERIC_PATH}/*.c) $(wildcard ${LIBFORMGENERIC_PATH}/*.h) \ $(wildcard ${LIBFORMGENERIC_PATH}/Makefile) ${ALL_H} .PHONY=all note check clean ## ================================================================== ## Targets ## ================================================================== all: note ${ALL} check @echo "Default targets (${ALL}) built successfully." note: @echo "Building: ${ALL}" check: #Note: file names in ALL_LIBS allready include absolute path #Note: some libraries built here are NOT plug-ins, and do NOT belong to ${PLUGINDIR} #for examle A4GL_clint @for a in $(ALL_LIBS); do \ if ! test -f $$a ; then \ if ! test -f ${LIBROOT}/`basename $$a` ; then \ echo "======================================================================"; \ echo "Build check failed : `basename $$a` does not exist as:"; \ echo "$$a"; \ echo "or"; \ echo "${LIBROOT}/`basename $$a`"; \ echo "Build of that library/plug-in failed. If you used 'make -k' to force"; \ echo "make to continue despite the error, this is expected. Hovewer, absence of this"; \ echo "library will prevent 'make install' from working. Either fix the issue that "; \ echo "prevents it from compiling succesfully, or disable it in configuration (so build"; \ echo "of this library will not be attempted) using './configure --without-xxx' option."; \ echo "See './configure --help' for list of all flags and components that can be "; \ echo "individually enabled or disabled. If 'configure' reported that it can build it,"; \ echo "but build then failed, please report this to Aubit mailing list" ;\ echo "======================================================================"; \ exit 1; \ fi; \ fi; \ done @echo "All library files built OK" ## ================================================================== ## Targets in sub-makefiles ## ================================================================== # Main Aubit library (versioned) libaubit4gl-${A4GL_VERSION_STRING}${SO_EXT_LINKABLE} : ${LIBAUBIT4GL_DEPS} ${MAKE} -C ${LIBAUBIT4GL_PATH} # Main Aubit library (NOT versioned - link or copy of versioned library file) # This target should not be needed, as this will be done when making versioned library, # It is here in case someone (or some makefile) refers to unversioned file, so we can # trigger making of the versioned one as dependency libaubit4gl${SO_EXT_LINKABLE}: libaubit4gl-${A4GL_VERSION_STRING}${SO_EXT_LINKABLE} ifeq "${COMSPEC}" "" ln -s $^ $@ else #Note - no linking on Windows cp $^ $@ cp $^.a $@.a endif ############## #libLEX_ LEX_PERL: ${PLUGINDIR}/libLEX_PERL${SO_EXT} ${PLUGINDIR}/libLEX_PERL${SO_EXT}: ${LIBLEXPERL_DEPS} ${MAKE} -C ${LIBLEXPERL_PATH} LEX_WRITE: ${PLUGINDIR}/libLEX_WRITE${SO_EXT} ${PLUGINDIR}/libLEX_WRITE${SO_EXT}: ${LIBLEXWRITE_DEPS} ${MAKE} -C ${LIBLEXWRITE_PATH} #Note: Both C and EC are now build from same dir; liblex/lex_c dir is obsolete ${PLUGINDIR}/libLEX_C${SO_EXT} ${PLUGINDIR}/libLEX_EC${SO_EXT}: ${LIBLEXEC_DEPS} ${MAKE} -C ${LIBLEXEC_PATH} #TODO: libLEX_CS libLEX_PCODEC are built - but where???? ############## #libUI_ ${PLUGINDIR}/libUI_TUI${SO_EXT}: ${LIBUICURSES_DEPS} $(MAKE) -C ${LIBUICURSES_PATH} ${PLUGINDIR}/libUI_XML${SO_EXT}: ${LIBUIXML_DEPS} $(MAKE) -C ${LIBUIXML_PATH} ${PLUGINDIR}/libUI_CONSOLE${SO_EXT}: ${LIBUICONSOLE_DEPS} $(MAKE) -C ${LIBUICONSOLE_PATH} #libUI_HLGENERIC${SO_EXT}: ${LIBUIHL_DEPS} # $(MAKE) -C ${LIBUIHL_PATH} ${PLUGINDIR}/libUI_HL_TUI${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libUI_HL_TUIw${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libUI_HL_TUIws${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libUI_HL_TUIN${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libUI_HL_TUINs${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libUI_HL_TUIX${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libUI_HL_GTK${SO_EXT}: ${LIBUIHL_DEPS} $(MAKE) -C ${LIBUIHL_PATH} $@ ${PLUGINDIR}/libA4GL_glade${SO_EXT}: ${LIBUIGLADELIB_DEPS} $(MAKE) -C ${LIBUIGLADELIB_PATH} ${PLUGINDIR}/libUI_GLADE${SO_EXT}: ${LIBUIGLADE_DEPS} $(MAKE) -C ${LIBUIGLADE_PATH} ############## #libFORM_ ${PLUGINDIR}/libFORM_NOFORM${SO_EXT} : ${LIBFORMNOFORM_DEPS} ${MAKE} -C ${LIBFORMNOFORM_PATH} ${PLUGINDIR}/libFORM_XDR${SO_EXT} : ${LIBFORMXDR_DEPS} ${MAKE} -C ${LIBFORMXDR_PATH} ${PLUGINDIR}/libFORM_GENERIC${SO_EXT}: ${LIBFORMGENERIC_DEPS} ${MAKE} -C ${LIBFORMGENERIC_PATH} ############## #libREPORT_ ${PLUGINDIR}/libEXREPORT_PDF${SO_EXT}: ${LIBEXREPORTPDF_DEPS} ${MAKE} -C ${LIBEXREPORTPDF_PATH} ${PLUGINDIR}/libEXREPORT_NOPDF${SO_EXT}: ${LIBEXREPORTPDF_DEPS} ${MAKE} -C ${LIBEXREPORTPDF_PATH} ############## #libPACKER_ ${PLUGINDIR}/libPACKER_PACKED${SO_EXT}: ${LIBPACKERPACKED_DEPS} ${MAKE} -C ${LIBPACKERPACKED_PATH} ${PLUGINDIR}/libPACKER_FORMXML${SO_EXT}: ${LIBPACKERFORMXML_DEPS} ${MAKE} -C ${LIBPACKERFORMXML_PATH} ${PLUGINDIR}/libPACKER_MEMPACKED${SO_EXT}: ${LIBPACKERMEMPACKED_DEPS} ${MAKE} -C ${LIBPACKERMEMPACKED_PATH} ${PLUGINDIR}/libPACKER_PERL${SO_EXT}: ${LIBPACKERPERL_DEPS} ${MAKE} -C ${LIBPACKERPERL_PATH} ${PLUGINDIR}/libPACKER_XDR${SO_EXT}: ${LIBPACKERXDR_DEPS} ${MAKE} -C ${LIBPACKERXDR_PATH} ${PLUGINDIR}/libPACKER_XML${SO_EXT}: ${LIBPACKERXML_DEPS} ${MAKE} -C ${LIBPACKERXML_PATH} ${PLUGINDIR}/libPACKER_GZPACKED${SO_EXT}: ${LIBPACKERGZPACKED_DEPS} ${MAKE} -C ${LIBPACKERGZPACKED_PATH} ############## #libSQL_ ESQL (native) #Informix ESQL/C code SQL plug-in compiled with Informix esql ESQL/C compiler ${PLUGINDIR}/libSQL_esql${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ #same thing, but different name for consistency: ${PLUGINDIR}/libSQL_esqlI${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ #Informix ESQL/C code SQL plug-in compiled with Querix esqlc ESQL/C compiler ${PLUGINDIR}/libSQL_esqlQ${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ #Informix ESQL/C code SQL plug-in compiled with SAP DB cpc ESQL/C compiler ${PLUGINDIR}/libSQL_esqlSAP${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ #Informix ESQL/C code SQL plug-in compiled with PostgreSQL ecpg ESQL/C compiler ${PLUGINDIR}/libSQL_esqlPG${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ #PostgreSQL esql plug-in based on 'simple' template (ecpg in non-Informix mode) ${PLUGINDIR}/libSQL_c_ecpg${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ #Informix esql plug-in based on 'simple' template ${PLUGINDIR}/libSQL_c_esql${SO_EXT}: ${LIBSQLESQL_DEPS} ${MAKE} -C ${LIBSQLESQL_PATH} $@ ############## #libSQL_ C (native) #Dummy plug-in good for testing or to disable SQL ${PLUGINDIR}/libSQL_nosql${SO_EXT}: ${LIBSQLNOSQL_DEPS} ${MAKE} -C ${LIBSQLNOSQL_PATH} #an simple PG plug-in with limited functionality (by Mike) ${PLUGINDIR}/libSQL_pg${SO_EXT}: ${LIBSQLPG_DEPS} ${MAKE} -C ${LIBSQLPG_PATH} #Sergio never finished this one... ${PLUGINDIR}/libSQL_pgDEVEL${SO_EXT}: ${LIBSQLPG_DEPS} ${MAKE} -C ${LIBSQLPG_PATH} #compile only plug-in for reading schema from file ${PLUGINDIR}/libSQL_FILESCHEMA${SO_EXT}: ${FILESCHEMA_DEPS} ${MAKE} -C ${FILESCHEMA_PATH} #Native MySQL plug-in ${PLUGINDIR}/libSQL_mysql${SO_EXT}: ${MYSQL_DEPS} ${MAKE} -C ${MYSQL_PATH} #Native Ingres plug-in ingres: ${PLUGINDIR}/libSQL_ingres${SO_EXT} ${PLUGINDIR}/libSQL_ingres${SO_EXT}: ${INGRES_DEPS} # ${MAKE} -C ${INGRES_PATH} cd ${INGRES_PATH}; chmod a+x ./makeit; ./makeit ############## #libSQL_ (ODBC) plug-ins directly linked with ODBC driver ${PLUGINDIR}/libSQL_ifxodbc${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} ifxodbc ${PLUGINDIR}/libSQL_pgodbc${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} pgodbc ${PLUGINDIR}/libSQL_sapodbc${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} sapodbc #Linked with SQLite ODBC driver, like any other directly linked ODBC plug-in #requires SQLite ODBC driver and SQLite library on the system ${PLUGINDIR}/libSQL_sqliteodbc${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} sqliteodbc #Compiled with SQLite ODBC driver source code in Aubit CVS #requires SQLite library on the system ${PLUGINDIR}/libSQL_sqlite${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} sqlite #Same, but version 3 ${PLUGINDIR}/libSQL_sqlite3${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} sqlite3 #################################### SQLITE - static/shared build issues... ## The makefile needs to be fixed for these to work - so I'm commenting them out for now... #Compiled with SQLite ODBC driver source code in Aubit CVS and statically #linked with SQLite database engine ligrary (self sufficient - used mainly #for binary distributions to provide "always there" SQL functionality) #libSQL_sqliteS${SO_EXT}: ${LIBSQLODBC_DEPS} # ${MAKE} -C ${LIBSQLODBC_PATH} sqlite.static #Same, but version 3 #libSQL_sqlite3S${SO_EXT}: ${LIBSQLODBC_DEPS} # ${MAKE} -C ${LIBSQLODBC_PATH} sqlite3.static ${PLUGINDIR}/libSQL_sqlite3S${SO_EXT}: @echo "Sqlite3S build temporarily suspended" ################################### ############## #libSQL_ (ODBC) managers ${PLUGINDIR}/libSQL_iodbc${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} iodbc ${PLUGINDIR}/libSQL_unixodbc${SO_EXT}: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} unixodbc ${PLUGINDIR}/libSQL_odbc32.dll: ${LIBSQLODBC_DEPS} ${MAKE} -C ${LIBSQLODBC_PATH} odbc32 ${PLUGINDIR}/libSQLPARSE_NONE${SO_EXT}: ${MAKE} -C libsqlparse/none ${PLUGINDIR}/libSQLPARSE_INFORMIX${SO_EXT}: ${MAKE} -C ../compilers/sql ############## #libRPC_ ${PLUGINDIR}/libRPC_XDR${SO_EXT}: ${LIBRPCSUNRPC_DEPS} ${MAKE} -C ${LIBRPCSUNRPC_PATH} ${PLUGINDIR}/libRPC_NORPC${SO_EXT}: ${LIBRPCNORPC_DEPS} ${MAKE} -C ${LIBRPCNORPC_PATH} ${PLUGINDIR}/libRPC_XMLRPC${SO_EXT}: ${LIBRPCXMLRPC_DEPS} ${MAKE} -C ${LIBRPCXMLRPC_PATH} ############# # libESQL ${PLUGINDIR}/libESQL_INFORMIX${SO_EXT}: ${LIBESQL_DEPS} ${MAKE} -C ${LIBESQL_PATH} $@ ${PLUGINDIR}/libESQL_POSTGRES${SO_EXT}: ${LIBESQL_DEPS} ${MAKE} -C ${LIBESQL_PATH} $@ ${PLUGINDIR}/libESQL_QUERIX${SO_EXT}: ${LIBESQL_DEPS} ${MAKE} -C ${LIBESQL_PATH} $@ ${PLUGINDIR}/libESQL_SAP${SO_EXT}: ${LIBESQL_DEPS} ${MAKE} -C ${LIBESQL_PATH} $@ ${PLUGINDIR}/libESQL_INGRES${SO_EXT}: ${LIBESQL_DEPS} ${MAKE} -C ${LIBESQL_PATH} $@ ############## #libEXDTYPE_ ${PLUGINDIR}/libEXDTYPE_mpz${SO_EXT}: ${LIBEXDATA_DEPS} ${MAKE} -C ${LIBEXDATA_PATH} $@ ############## #libDATA_ & libXDRPACKER_ ${PLUGINDIR}/libDATA_struct_form${SO_EXT} \ ${PLUGINDIR}/libDATA_report${SO_EXT} \ ${PLUGINDIR}/libDATA_module_definition${SO_EXT} \ ${PLUGINDIR}/libXDRPACKER_struct_form${SO_EXT} \ ${PLUGINDIR}/libXDRPACKER_report${SO_EXT} \ ${PLUGINDIR}/libXDRPACKER_module${SO_EXT} \ ${PLUGINDIR}/libXDRPACKER_module_definition${SO_EXT}: ${LIBDATA_DEPS} ${MAKE} -C ${LIBDATA_PATH} ${ROOT}/compilers/4glc/API_lex.h: ${ROOT}/compilers/4glc/API_lex.spec ${SH} ${ROOT}/lib/bin/dlmagic ${ROOT}/compilers/4glc/API_lex.spec -h > ${ROOT}/compilers/4glc/API_lex.h ############### #Misc libs: ${PLUGINDIR}/libMSG_NATIVE${SO_EXT}: ${LIBMSGNATIVE_DEPS} ${MAKE} -C ${LIBMSGNATIVE_PATH} ${PLUGINDIR}/libIM_JABBER${SO_EXT_LINKABLE}: ${LIBIMJABBER_DEPS} $(MAKE) -C ${LIBIMJABBER_PATH} $@ ${PLUGINDIR}/libIM_JABBERs${SO_EXT_LINKABLE}: ${LIBIMJABBER_DEPS} $(MAKE) -C ${LIBIMJABBER_PATH} $@ cint: ${PLUGINDIR}/libA4GL_cint${SO_EXT_LINKABLE} ${PLUGINDIR}/libA4GL_cint${SO_EXT_LINKABLE}: cd ../cint; ${SH} make_cintlib ############## #Libs that need 4glc ${PLUGINDIR}/libHELP_std${SO_EXT}: ${LIBHELP_STD_DEPS} ${4GLC} ${FCOMPILE} \ ${PLUGINDIR}/libPACKER_PACKED${SO_EXT} ${PLUGINDIR}/libUI_CONSOLE${SO_EXT} \ ${PLUGINDIR}/libFORM_GENERIC${SO_EXT} ${MAKE} -C ${LIBHELP_STD_PATH} ${PLUGINDIR}/libA4GL_file${SO_EXT}: ${4GLPC} ${LIBFILE_DEPS} $(MAKE) -C ${LIBFILE_PATH} ${PLUGINDIR}/libA4GL_pick${SO_EXT}: ${4GLPC} ${LIBPICK_DEPS} $(MAKE) -C ${LIBPICK_PATH} ${PLUGINDIR}/libA4GL_roman${SO_EXT}: ${4GLPC} ${LIBROMAN_DEPS} $(MAKE) -C ${LIBROMAN_PATH} ${PLUGINDIR}/liberrhook_sample${SO_EXT}: ${4GLPC} ${LIBERRHOOK_DEPS} $(MAKE) -C ${LIBERRHOOK_PATH} ${PLUGINDIR}/libbarcode${SO_EXT}: ${4GLPC} ${LIBBARCODE_DEPS} $(MAKE) -C ${LIBBARCODE_PATH} ${PLUGINDIR}/libA4GL_string${SO_EXT}: ${4GLPC} ${LIBSTRING_DEPS} $(MAKE) -C ${LIBSTRING_PATH} ${PLUGINDIR}/libchannel${SO_EXT}: ${4GLPC} ${LIBCHANNEL_DEPS} $(MAKE) -C ${LIBCHANNEL_PATH} ${PLUGINDIR}/libA4GL_pop${SO_EXT}: ${4GLC} ${LIBPOP_DEPS} $(MAKE) -C ${LIBPOP_PATH} ${PLUGINDIR}/libfgl_smtp${SO_EXT}: ${4GLC} ${LIBSMTP_DEPS} $(MAKE) -C ${LIBSMTP_PATH} ${PLUGINDIR}/libA4GL_pcre${SO_EXT}: ${4GLC} ${LIBPCRE_DEPS} $(MAKE) -C ${LIBPCRE_PATH} ${PLUGINDIR}/libA4GL_sxml${SO_EXT}: ${4GLC} ${LIBSXML_DEPS} $(MAKE) -C ${LIBSXML_PATH} ${PLUGINDIR}/libA4GL_HTML${SO_EXT}: ${4GLC} ${LIBHTML_DEPS} $(MAKE) -C ${LIBHTML_PATH} $@ ############## #Libs that need 4glpc ${PLUGINDIR}/libA4GL_memcache${SO_EXT}: ${4GLPC} ${LIBMEMCACHE_DEPS} $(MAKE) -C ${LIBMEMCACHE_PATH} $@ info: echo "SO_EXT_LINKABLE ${SO_EXT_LINKABLE}" echo "SO_EXT ${SO_EXT}" ############################ #LibLogical libraries: ${PLUGINDIR}/libLOGREPPROC_TXT${SO_EXT}: $(MAKE) -C liblogical/txt/process ${PLUGINDIR}/libLOGREPPROC_CSV${SO_EXT}: $(MAKE) -C liblogical/csv/process ${PLUGINDIR}/libLOGREPPROC_PDF${SO_EXT}: $(MAKE) -C liblogical/pdf/process ${PLUGINDIR}/libLOGREPPROC_HTML${SO_EXT}: $(MAKE) -C liblogical/html/process ${PLUGINDIR}/libLOGREP_TXT${SO_EXT}: $(MAKE) -C liblogical/txt/layout ${PLUGINDIR}/libLOGREP_CSV${SO_EXT}: $(MAKE) -C liblogical/csv/layout ${PLUGINDIR}/libLOGREP_PDF${SO_EXT}: $(MAKE) -C liblogical/pdf/layout ${PLUGINDIR}/libLOGREP_HTML${SO_EXT}: $(MAKE) -C liblogical/html/layout ############## #Not libraries - programs: aubit-config: ${AUBITCONFIG_DEPS} ${MAKE} -C ${AUBITCONFIG_PATH} loadmap: ${LOADMAP_DEPS} ${FAIL_OK}${MAKE} -C ${LOADMAP_PATH} ${4GLC}: ${PLUGINDIR}/libUI_CONSOLE${SO_EXT} ${PLUGINDIR}/libLEX_C${SO_EXT} ${MAKE} -C ${ROOT}/compilers/4glc ${4GLPC}: ${4GLC} ${MAKE} -C ${ROOT}/tools/4glpc ${FCOMPILE}: ${MAKE} -C ${ROOT}/compilers/fcompile ## ================================================================== ## Clean Targets ## ================================================================== clean.all: clean clean : \ clean.generated clean.libsql clean.libpdf clean.librpc clean.libroot \ clean.other clean.libui clean.libform clean.libpacker \ clean.cint clean.liblogical clean.plugindir #FIXME; this targets are not cleaned from plugindir: #libA4GL_cint.so libIM_JABBERs.so libSQL_FILESCHEMA.so libUI_client.so #libFORM_NOFORM.so libLEX_PERL.so libSQL_ingres.so #libIM_JABBER.so libMSG_NATIVE.so libSQL_nosql.so clean.plugindir: rm -rf ${PLUGINDIR} clean.libroot: ${RM} core *.out *.glb *${SO_EXT} *.a *.bak *.dll *.stackdump *.err \ bin/*.bak liblex/*.bak libpacker/*.bak libsql/*.bak *.base *.exp *.warn \ libaubit4gl*.* *~ clean.generated: ${RM} generated/errdefs generated/tmperrs.h generated/*.o \ generated/project.c generated/.*.bak clean.libui: ${MAKE} -C ${LIBUIHL_PATH} clean ${MAKE} -C ${LIBUICONSOLE_PATH} clean ${MAKE} -C ${LIBUICURSES_PATH} clean ${MAKE} -C ${LIBUIXML_PATH} clean ${MAKE} -C ${LIBUIGLADELIB_PATH} clean ${MAKE} -C ${LIBUIGLADE_PATH} clean ${MAKE} -C ${LIBUIHL_PATH}/remote_client clean clean.libsql: ${MAKE} -C ${LIBSQLNOSQL_PATH} clean ${MAKE} -C ${LIBSQLODBC_PATH} clean ${MAKE} -C ${LIBSQLESQL_PATH} clean ${MAKE} -C ${LIBSQLPG_PATH} clean ${MAKE} -C ${FILESCHEMA_PATH} clean ${MAKE} -C ${MYSQL_PATH} clean #FIXME: not a makefile: -if test -f ${INGRES_PATH}/?akefile; then ${MAKE} -C ${INGRES_PATH} clean; fi clean.libpdf: ${MAKE} -C ${LIBEXREPORTPDF_PATH} clean clean.librpc: ${MAKE} -C ${LIBRPCXMLRPC_PATH} clean ${MAKE} -C ${LIBRPCNORPC_PATH} clean ${MAKE} -C ${LIBRPCSUNRPC_PATH} clean clean.libform: ${MAKE} -C ${LIBFORMGENERIC_PATH} clean ${MAKE} -C ${LIBFORMNOFORM_PATH} clean ${MAKE} -C ${LIBFORMXDR_PATH} clean clean.libpacker: ${MAKE} -C ${LIBPACKERPACKED_PATH} clean ${MAKE} -C ${LIBPACKERFORMXML_PATH} clean ${MAKE} -C ${LIBPACKERMEMPACKED_PATH} clean ${MAKE} -C ${LIBPACKERPERL_PATH} clean ${MAKE} -C ${LIBPACKERXDR_PATH} clean ${MAKE} -C ${LIBPACKERXML_PATH} clean ${MAKE} -C ${LIBPACKERGZPACKED_PATH} clean clean.liblogical: $(MAKE) -C liblogical/txt/process clean $(MAKE) -C liblogical/txt/layout clean $(MAKE) -C liblogical/csv/process clean $(MAKE) -C liblogical/csv/layout clean $(MAKE) -C liblogical/pdf/process clean $(MAKE) -C liblogical/pdf/layout clean clean.other: ${MAKE} -C ${LIBAUBIT4GL_PATH} clean ${MAKE} -C ${LIBMSGNATIVE_PATH} clean ${MAKE} -C ${LIBHELP_STD_PATH} clean ${MAKE} -C ${AUBITCONFIG_PATH} clean ${MAKE} -C ${LOADMAP_PATH} clean ${MAKE} -C ${LIBLEXEC_PATH} clean ${MAKE} -C ${LIBLEXPERL_PATH} clean ${MAKE} -C ${LIBEXDATA_PATH} clean ${MAKE} -C ${LIBESQL_PATH} clean ${MAKE} -C ${LIBSTRING_PATH} clean ${MAKE} -C ${LIBCHANNEL_PATH} clean ${MAKE} -C ${LIBFILE_PATH} clean ${MAKE} -C ${LIBESQLCHELPER_PATH} clean ${MAKE} -C ${LIBHTML_PATH} clean ${MAKE} -C ${LIBMEMCACHE_PATH} clean ${MAKE} -C ${LIBPOP_PATH} clean ${MAKE} -C ${LIBSMTP_PATH} clean ${MAKE} -C ${LIBPCRE_PATH} clean ${MAKE} -C ${LIBSXML_PATH} clean ${MAKE} -C libsqlparse/none clean ${MAKE} -C ../compilers/sql clean clean.cint: #We have to allow this one to fail, since it is possible that #Makefile was not yet created by make_cintlib script -${MAKE} -C ../cint clean cd ../cint; ${SH} make_cintlib -clean ## ================================================================== ## Other Targets ## ================================================================== show: @echo ${LIBAUBIT4GL_DEPS} @echo "$$INGRES_INST_PATH" @echo "$$INGRES_ESQLC" @echo "$$HAVE_INGRES_ESQLC" @echo "PLUGINDIR=${PLUGINDIR}" @echo "A4GL_VERSION_STRING=${A4GL_VERSION_STRING}" @echo "ALL_LIBS=${ALL_LIBS}" @echo "LIB_DEFAULT=${LIB_DEFAULT} LIB_OPTIONAL=${LIB_OPTIONAL}" pluginsdir: if test ! -d ${PLUGINDIR}; then mkdir ${PLUGINDIR} 2> /dev/null; fi #----------------------------------- EOF -------------------------------