$NetBSD: patch-Makefile,v 1.1 2025/07/11 12:46:50 dkazankov Exp $ Create Makefile for build --- /dev/null +++ Makefile @@ -0,0 +1,69 @@ +prefix ?= $(dir $(shell $(WHICH) gnatls)).. +ENABLE_SHARED ?= yes +BUILD ?= PROD +PROCESSORS ?= 0 +TARGET ?= $(shell gcc -dumpmachine) +INTEGRATED ?= no + +BINDINGS ?= gmp iconv lzma omp python python3 readline syslog zlib + +NORMALIZED_TARGET := $(lastword $(subst :, ,$(shell gprconfig --config=ada --target=$(TARGET) --mi-show-compilers | grep ' 1 normalized_target:'))) +ifeq ($(NORMALIZED_TARGET),) + $(error No toolchain found for target "$(TARGET)") +endif + +BUILD_DIR = +ifeq ($(ENABLE_SHARED), yes) + LIBRARY_TYPES=static,static-pic,relocatable +else + LIBRARY_TYPES=static +endif + +# Used to pass extra options to GPRBUILD, like -d for instance +GPRBUILD_OPTIONS= +GPRINSTALL_OPTIONS= + +all: build + +.PHONY: build $(BINDINGS) +build: $(BINDINGS:%=build-%) + +build-%: + cd $* && python3 ./setup.py build \ + --jobs=$(PROCESSORS) \ + --library-types=$(LIBRARY_TYPES) \ + --target=$(NORMALIZED_TARGET) \ + --prefix=$(prefix) \ + $(if $(filter yes, $(INTEGRATED)),--integrated,) \ + $(if $(filter DEBUG, $(BUILD_OPTIONS)),--debug,) \ + $(if $(filter readline, $*),--accept-gpl,) \ + $(if $(GPRBUILD_OPTIONS),--gpr-opts $(GPRBUILD_OPTIONS),) + cd .. + +.PHONY: install +install: $(BINDINGS:%=install-%) + +install-%: + cd $* && python3 ./setup.py install \ + $(if $(GPRINSTALL_OPTIONS),--gpr-opts $(GPRINSTALL_OPTIONS),) + cd .. + +.PHONY: uninstall +uninstall: $(BINDINGS:%=uninstall-%) + +uninstall-%: + cd $* && python3 ./setup.py uninstall + cd .. + +.PHONY: clean +clean: $(BINDINGS:%=clean-%) + +clean-%: + cd $* && python3 ./setup.py clean + cd .. + +.PHONY: test +test: + sh testsuite/run-tests + +.NOTPARALLEL: