Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
makefile 1.52 KiB
APPPATH = /usr/bin
LIBPATH = /usr/lib
BINFOLDER = bin

CORE_LIB = alib
SUBDIRS_LIBS = libaregexptree
SUBDIRS_BINS = acat \
               aconvert aconvert.dot aconvert.gastex aconvert.regexp aconvert.automaton aconvert.grammar \
               aminimize \
               adeterminize \
               adiff adiff.automaton adiff.grammar \
               aepsilon \
               atrim \
               anormalize \
               aconversions \
               aderivation aintegral \
               aoptimize.regexp
SUBDIRS_WITH_MAKE = $(dir $(wildcard */makefile))

.PHONY: $(CORE_LIB) $(SUBDIRS_LIBS) $(SUBDIRS_BINS)

all: $(CORE_LIB) $(SUBDIRS_LIBS) $(SUBDIRS_BINS) copy

$(CORE_LIB):
	$(MAKE) -C $@

$(SUBDIRS_LIBS): $(CORE_LIB)
	$(MAKE) -C $@

$(SUBDIRS_BINS): $(SUBDIRS_LIBS)
	$(MAKE) -C $@

clean:
	for dir in $(SUBDIRS_WITH_MAKE); do \
	    $(MAKE) -C $$dir clean; \
	done

copy: $(CORE_LIB) $(SUBDIRS_LIBS) $(SUBDIRS_BINS)
	mkdir -p $(BINFOLDER)
	rm -rf $(BINFOLDER)/*
	for dir in $(CORE_LIB) $(SUBDIRS_LIBS); do \
	    cp $$dir/lib/* $(BINFOLDER); \
	done
	for dir in $(SUBDIRS_BINS); do \
	    cp $$dir/bin/* $(BINFOLDER); \
	done

install:
	cp alib/lib/libalib.so $(LIBPATH)
	cp acat/bin/acat $(APPPATH)
	cp aconvert/bin/aconvert $(APPPATH)
	cp aconvert.dot/bin/aconvert.dot $(APPPATH)
	cp aconvert.gastex/bin/aconvert.gastex $(APPPATH)
	cp aminimize/bin/aminimize $(APPPATH)

uninstall:
	rm $(LIBPATH)/libalib.so
	rm $(APPPATH)/acat
	rm $(APPPATH)/aconvert
	rm $(APPPATH)/aconvert.dot
	rm $(APPPATH)/aconvert.gastex
	rm $(APPPATH)/aminimize