merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

Makefile.am (13451B)


      1 # This Makefile.am is in the public domain
      2 AM_CPPFLAGS = -I$(top_srcdir)/src/include
      3 
      4 plugindir = $(libdir)/taler-merchant
      5 
      6 pkgcfgdir = $(prefix)/share/taler-merchant/config.d/
      7 
      8 pkgcfg_DATA = \
      9   merchantdb-postgres.conf
     10 
     11 sqldir = $(prefix)/share/taler-merchant/sql/
     12 
     13 sqlinputs = \
     14   pg_*.sql \
     15   procedures.sql.in
     16 
     17 sql_DATA = \
     18   versioning.sql \
     19   procedures.sql \
     20   merchant-0001.sql \
     21   merchant-0002.sql \
     22   merchant-0003.sql \
     23   merchant-0004.sql \
     24   merchant-0005.sql \
     25   merchant-0006.sql \
     26   merchant-0007.sql \
     27   merchant-0008.sql \
     28   merchant-0009.sql \
     29   merchant-0010.sql \
     30   merchant-0011.sql \
     31   merchant-0012.sql \
     32   merchant-0013.sql \
     33   merchant-0014.sql \
     34   merchant-0015.sql \
     35   merchant-0016.sql \
     36   merchant-0017.sql \
     37   merchant-0018.sql \
     38   merchant-0019.sql \
     39   merchant-0020.sql \
     40   merchant-0021.sql \
     41   merchant-0022.sql \
     42   merchant-0023.sql \
     43   merchant-0024.sql \
     44   merchant-0025.sql \
     45   merchant-0026.sql \
     46   merchant-0027.sql \
     47   merchant-0028.sql \
     48   merchant-0029.sql \
     49   merchant-0030.sql \
     50   merchant-0031.sql \
     51   merchant-0032.sql \
     52   merchant-0033.sql \
     53   drop.sql
     54 
     55 BUILT_SOURCES = \
     56   procedures.sql
     57 
     58 procedures.sql: procedures.sql.in pg_*.sql
     59 	chmod +w $@ || true
     60 	gcc -E -P -undef - < procedures.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
     61 	chmod ugo-w $@
     62 
     63 
     64 if HAVE_POSTGRESQL
     65 if HAVE_GNUNETPQ
     66 plugin_LTLIBRARIES = \
     67   libtaler_plugin_merchantdb_postgres.la
     68 endif
     69 endif
     70 
     71 if USE_COVERAGE
     72   AM_CFLAGS = --coverage -O0
     73   XLIB = -lgcov
     74 endif
     75 
     76 lib_LTLIBRARIES = \
     77   libtalermerchantdb.la
     78 
     79 libtalermerchantdb_la_SOURCES = \
     80   merchantdb_plugin.c \
     81   merchantdb_helper.c
     82 
     83 libtalermerchantdb_la_LIBADD = \
     84   $(LIBGCRYPT_LIBS) \
     85   $(top_builddir)/src/util/libtalermerchantutil.la \
     86   -ltalerutil \
     87   -ltalerpq \
     88   -lgnunetutil \
     89   -lltdl \
     90   $(XLIB)
     91 
     92 libtalermerchantdb_la_LDFLAGS = \
     93   $(POSTGRESQL_LDFLAGS) \
     94   -version-info 4:1:2 \
     95   -no-undefined
     96 
     97 libtaler_plugin_merchantdb_postgres_la_SOURCES = \
     98   pg_account_kyc_get_outdated.h pg_account_kyc_get_outdated.c \
     99   pg_account_kyc_get_status.h pg_account_kyc_get_status.c \
    100   pg_account_kyc_set_failed.h pg_account_kyc_set_failed.c \
    101   pg_account_kyc_set_status.h pg_account_kyc_set_status.c \
    102   pg_activate_account.h pg_activate_account.c \
    103   pg_check_transfer_exists.h pg_check_transfer_exists.c \
    104   pg_delete_category.h pg_delete_category.c \
    105   pg_delete_contract_terms.h pg_delete_contract_terms.c \
    106   pg_delete_exchange_accounts.h pg_delete_exchange_accounts.c \
    107   pg_delete_instance_private_key.h pg_delete_instance_private_key.c \
    108   pg_delete_login_token.h pg_delete_login_token.c \
    109   pg_delete_order.h pg_delete_order.c \
    110   pg_delete_otp.h pg_delete_otp.c \
    111   pg_delete_pending_webhook.h pg_delete_pending_webhook.c \
    112   pg_delete_product.h pg_delete_product.c \
    113   pg_delete_template.h pg_delete_template.c \
    114   pg_delete_token_family.h pg_delete_token_family.c \
    115   pg_delete_transfer.h pg_delete_transfer.c \
    116   pg_delete_webhook.h pg_delete_webhook.c \
    117   pg_expire_locks.h pg_expire_locks.c \
    118   pg_gc.h pg_gc.c \
    119   pg_get_kyc_limits.h pg_get_kyc_limits.c \
    120   pg_get_kyc_status.h pg_get_kyc_status.c \
    121   pg_helper.h pg_helper.c \
    122   pg_inactivate_account.h pg_inactivate_account.c \
    123   pg_increase_refund.h pg_increase_refund.c \
    124   pg_increment_money_pots.h pg_increment_money_pots.c \
    125   pg_insert_account.h pg_insert_account.c \
    126   pg_insert_category.h pg_insert_category.c \
    127   pg_insert_unit.h pg_insert_unit.c \
    128   pg_insert_contract_terms.h pg_insert_contract_terms.c \
    129   pg_insert_deposit.h pg_insert_deposit.c \
    130   pg_insert_deposit_confirmation.h pg_insert_deposit_confirmation.c \
    131   pg_insert_deposit_to_transfer.h pg_insert_deposit_to_transfer.c \
    132   pg_insert_exchange_account.h pg_insert_exchange_account.c \
    133   pg_insert_exchange_keys.h pg_insert_exchange_keys.c \
    134   pg_insert_exchange_signkey.h pg_insert_exchange_signkey.c \
    135   pg_insert_instance.h pg_insert_instance.c \
    136   pg_insert_issued_token.h pg_insert_issued_token.c \
    137   pg_insert_login_token.h pg_insert_login_token.c \
    138   pg_insert_order.h pg_insert_order.c \
    139   pg_insert_order_lock.h pg_insert_order_lock.c \
    140   pg_insert_otp.h pg_insert_otp.c \
    141   pg_insert_pending_webhook.h pg_insert_pending_webhook.c \
    142   pg_insert_product.h pg_insert_product.c \
    143   pg_insert_refund_proof.h pg_insert_refund_proof.c \
    144   pg_insert_spent_token.h pg_insert_spent_token.c \
    145   pg_insert_template.h pg_insert_template.c \
    146   pg_update_unit.h pg_update_unit.c \
    147   pg_insert_token_family.h pg_insert_token_family.c \
    148   pg_insert_token_family_key.h pg_insert_token_family_key.c \
    149   pg_insert_transfer.h pg_insert_transfer.c \
    150   pg_insert_transfer_details.h pg_insert_transfer_details.c \
    151   pg_insert_webhook.h pg_insert_webhook.c \
    152   pg_delete_unit.h pg_delete_unit.c \
    153   pg_lookup_units.h pg_lookup_units.c \
    154   pg_lookup_custom_units_by_names.h pg_lookup_custom_units_by_names.c \
    155   pg_select_unit.h pg_select_unit.c \
    156   pg_lookup_mfa_challenge.h pg_lookup_mfa_challenge.c \
    157   pg_solve_mfa_challenge.h pg_solve_mfa_challenge.c \
    158   pg_update_mfa_challenge.h pg_update_mfa_challenge.c \
    159   pg_create_mfa_challenge.h pg_create_mfa_challenge.c \
    160   pg_insert_report.h pg_insert_report.c \
    161   pg_delete_report.h pg_delete_report.c \
    162   pg_update_report.h pg_update_report.c \
    163   pg_check_report.h pg_check_report.c \
    164   pg_select_reports.h pg_select_reports.c \
    165   pg_lookup_reports_pending.h pg_lookup_reports_pending.c \
    166   pg_update_report_status.h pg_update_report_status.c \
    167   pg_select_report.h pg_select_report.c \
    168   pg_insert_product_group.h pg_insert_product_group.c \
    169   pg_delete_product_group.h pg_delete_product_group.c \
    170   pg_update_product_group.h pg_update_product_group.c \
    171   pg_select_product_groups.h pg_select_product_groups.c \
    172   pg_insert_unclaim_signature.h pg_insert_unclaim_signature.c \
    173   pg_lookup_reconciliation_details.h pg_lookup_reconciliation_details.c \
    174   pg_lookup_expected_transfer.h pg_lookup_expected_transfer.c \
    175   pg_insert_money_pot.h pg_insert_money_pot.c \
    176   pg_delete_money_pot.h pg_delete_money_pot.c \
    177   pg_update_money_pot.h pg_update_money_pot.c \
    178   pg_check_money_pots.h pg_check_money_pots.c \
    179   pg_select_money_pots.h pg_select_money_pots.c \
    180   pg_select_money_pot.h pg_select_money_pot.c \
    181   pg_lock_product.h pg_lock_product.c \
    182   pg_lookup_account.h pg_lookup_account.c \
    183   pg_lookup_all_products.h pg_lookup_all_products.c \
    184   pg_lookup_categories.h pg_lookup_categories.c \
    185   pg_lookup_categories_by_ids.h pg_lookup_categories_by_ids.c \
    186   pg_lookup_contract_terms.h pg_lookup_contract_terms.c \
    187   pg_lookup_contract_terms2.h pg_lookup_contract_terms2.c \
    188   pg_lookup_contract_terms3.h pg_lookup_contract_terms3.c \
    189   pg_lookup_deposits.h pg_lookup_deposits.c \
    190   pg_lookup_deposits_by_contract_and_coin.h pg_lookup_deposits_by_contract_and_coin.c \
    191   pg_lookup_deposits_by_order.h pg_lookup_deposits_by_order.c \
    192   pg_lookup_expected_transfers.h pg_lookup_expected_transfers.c \
    193   pg_lookup_instance_auth.h pg_lookup_instance_auth.c \
    194   pg_lookup_instances.h pg_lookup_instances.c \
    195   pg_lookup_inventory_products.h pg_lookup_inventory_products.c \
    196   pg_lookup_inventory_products_filtered.h pg_lookup_inventory_products_filtered.c \
    197   pg_lookup_login_tokens.h pg_lookup_login_tokens.c \
    198   pg_lookup_order.h pg_lookup_order.c \
    199   pg_lookup_order_by_fulfillment.h pg_lookup_order_by_fulfillment.c \
    200   pg_lookup_order_status.h pg_lookup_order_status.c \
    201   pg_lookup_order_status_by_serial.h pg_lookup_order_status_by_serial.c \
    202   pg_lookup_order_summary.h pg_lookup_order_summary.c \
    203   pg_lookup_orders.h pg_lookup_orders.c \
    204   pg_lookup_otp_devices.h pg_lookup_otp_devices.c \
    205   pg_lookup_pending_deposits.h pg_lookup_pending_deposits.c \
    206   pg_lookup_pending_webhooks.h pg_lookup_pending_webhooks.c \
    207   pg_lookup_product.h pg_lookup_product.c \
    208   pg_lookup_product_image.h pg_lookup_product_image.c \
    209   pg_lookup_products.h pg_lookup_products.c \
    210   pg_lookup_refund_proof.h pg_lookup_refund_proof.c \
    211   pg_lookup_refunds.h pg_lookup_refunds.c \
    212   pg_lookup_refunds_detailed.h pg_lookup_refunds_detailed.c \
    213   pg_lookup_spent_tokens_by_order.h pg_lookup_spent_tokens_by_order.c \
    214   pg_lookup_statistics_amount_by_bucket2.h pg_lookup_statistics_amount_by_bucket2.c \
    215   pg_lookup_statistics_counter_by_bucket2.h pg_lookup_statistics_counter_by_bucket2.c \
    216   pg_lookup_template.h pg_lookup_template.c \
    217   pg_lookup_templates.h pg_lookup_templates.c \
    218   pg_lookup_token_families.h pg_lookup_token_families.c \
    219   pg_lookup_token_family.h pg_lookup_token_family.c \
    220   pg_lookup_token_family_key.h pg_lookup_token_family_key.c \
    221   pg_lookup_token_family_keys.h pg_lookup_token_family_keys.c \
    222   pg_lookup_transfer_details.h pg_lookup_transfer_details.c \
    223   pg_lookup_transfer_details_by_order.h pg_lookup_transfer_details_by_order.c \
    224   pg_lookup_transfer_summary.h pg_lookup_transfer_summary.c \
    225   pg_lookup_transfers.h pg_lookup_transfers.c \
    226   pg_lookup_webhook.h pg_lookup_webhook.c \
    227   pg_lookup_webhook_by_event.h pg_lookup_webhook_by_event.c \
    228   pg_lookup_webhooks.h pg_lookup_webhooks.c \
    229   pg_lookup_wire_fee.h pg_lookup_wire_fee.c \
    230   pg_mark_contract_paid.h pg_mark_contract_paid.c \
    231   pg_mark_order_wired.h pg_mark_order_wired.c \
    232   pg_select_order_blinded_sigs.h pg_select_order_blinded_sigs.c \
    233   pg_purge_instance.h pg_purge_instance.c \
    234   pg_refund_coin.h pg_refund_coin.c \
    235   pg_select_account.h pg_select_account.c \
    236   pg_select_account_by_uri.h pg_select_account_by_uri.c \
    237   pg_select_accounts.h pg_select_accounts.c \
    238   pg_select_accounts_by_exchange.h pg_select_accounts_by_exchange.c \
    239   pg_select_category.h pg_select_category.c \
    240   pg_select_category_by_name.h pg_select_category_by_name.c \
    241   pg_select_exchange_keys.h pg_select_exchange_keys.c \
    242   pg_select_exchanges.h pg_select_exchanges.c \
    243   pg_select_login_token.h pg_select_login_token.c \
    244   pg_select_open_transfers.h pg_select_open_transfers.c \
    245   pg_select_otp.h pg_select_otp.c \
    246   pg_select_otp_serial.h pg_select_otp_serial.c \
    247   pg_select_wirewatch_accounts.h pg_select_wirewatch_accounts.c \
    248   pg_store_wire_fee_by_exchange.h pg_store_wire_fee_by_exchange.c \
    249   pg_unlock_inventory.h pg_unlock_inventory.c \
    250   pg_update_account.h pg_update_account.c \
    251   pg_update_category.h pg_update_category.c \
    252   pg_update_contract_session.h pg_update_contract_session.c \
    253   pg_update_contract_terms.h pg_update_contract_terms.c \
    254   pg_update_deposit_confirmation_status.h pg_update_deposit_confirmation_status.c \
    255   pg_update_donau_instance_receipts_amount.h pg_update_donau_instance_receipts_amount.c \
    256   pg_update_instance.h pg_update_instance.c \
    257   pg_update_instance_auth.h pg_update_instance_auth.c \
    258   pg_update_otp.h pg_update_otp.c \
    259   pg_update_pending_webhook.h pg_update_pending_webhook.c \
    260   pg_update_product.h pg_update_product.c \
    261   pg_update_template.h pg_update_template.c \
    262   pg_update_token_family.h pg_update_token_family.c \
    263   pg_update_transfer_status.h pg_update_transfer_status.c \
    264   pg_finalize_transfer_status.h pg_finalize_transfer_status.c \
    265   pg_delete_donau_instance.h pg_delete_donau_instance.c \
    266   pg_insert_order_blinded_sigs.h pg_insert_order_blinded_sigs.c \
    267   pg_update_webhook.h pg_update_webhook.c \
    268   pg_update_wirewatch_progress.h pg_update_wirewatch_progress.c \
    269   pg_lookup_statistics_counter_by_bucket.h pg_lookup_statistics_counter_by_bucket.c \
    270   pg_lookup_statistics_counter_by_interval.h pg_lookup_statistics_counter_by_interval.c \
    271   pg_lookup_statistics_amount_by_bucket.h pg_lookup_statistics_amount_by_bucket.c \
    272   pg_lookup_statistics_amount_by_interval.h pg_lookup_statistics_amount_by_interval.c \
    273   plugin_merchantdb_postgres.c
    274 
    275 if HAVE_DONAU
    276 libtaler_plugin_merchantdb_postgres_la_SOURCES += \
    277   pg_insert_donau_instance.h pg_insert_donau_instance.c \
    278   pg_check_donau_instance.h pg_check_donau_instance.c \
    279   pg_select_donau_instances.h pg_select_donau_instances.c \
    280   pg_select_all_donau_instances.h pg_select_all_donau_instances.c \
    281   pg_select_donau_instances_filtered.h pg_select_donau_instances_filtered.c \
    282   pg_select_donau_instance_by_serial.h pg_select_donau_instance_by_serial.c \
    283   pg_lookup_donau_keys.h pg_lookup_donau_keys.c \
    284   pg_lookup_order_charity.h pg_lookup_order_charity.c \
    285   pg_upsert_donau_keys.h pg_upsert_donau_keys.c \
    286   pg_update_donau_instance.h pg_update_donau_instance.c
    287 endif
    288 
    289 libtaler_plugin_merchantdb_postgres_la_LIBADD = \
    290   $(LTLIBINTL)
    291 libtaler_plugin_merchantdb_postgres_la_LDFLAGS = \
    292   $(TALER_PLUGIN_LDFLAGS) \
    293   $(top_builddir)/src/util/libtalermerchantutil.la \
    294   -ltalerexchange \
    295   -ltalerpq \
    296   -ltalerutil \
    297   -ltalerjson \
    298   -ltalermhd \
    299   -lgnunetpq \
    300   -lgnunetjson \
    301   -lpq \
    302   -lgnunetutil \
    303   $(XLIB)
    304 
    305 if HAVE_DONAU
    306 libtaler_plugin_merchantdb_postgres_la_LDFLAGS += \
    307   -ldonau
    308 endif
    309 
    310 if HAVE_POSTGRESQL
    311 if HAVE_GNUNETPQ
    312 check_PROGRAMS = \
    313   test-merchantdb-postgres
    314 endif
    315 endif
    316 
    317 test_merchantdb_postgres_SOURCES = \
    318   test_merchantdb.c
    319 
    320 test_merchantdb_postgres_LDFLAGS = \
    321   -ltalerutil \
    322   -ltalerjson \
    323   -lgnunetjson \
    324   -lgnunetutil \
    325   -ljansson \
    326   $(XLIB)
    327 
    328 check_SCRIPTS = \
    329   test_webhook_trigger.sh
    330 
    331 test_merchantdb_postgres_LDADD = \
    332   $(top_builddir)/src/util/libtalermerchantutil.la \
    333   $(top_builddir)/src/backenddb/libtalermerchantdb.la
    334 
    335 AM_TESTS_ENVIRONMENT=export TALER_MERCHANT_PREFIX=$${TALER_MERCHANT_PREFIX:-@libdir@};export PATH=$${TALER_MERCHANT_PREFIX:-@prefix@}/bin:$$PATH;
    336 
    337 TESTS = \
    338   $(check_PROGRAMS) \
    339   $(check_SCRIPTS)
    340 
    341 EXTRA_DIST = \
    342   test-merchantdb-postgres.conf \
    343   merchantdb-postgres.conf \
    344   $(sqlinputs) \
    345   $(sql_DATA) \
    346   $(check_SCRIPTS)