# Makefile, copyright Jimmy Wennlund, for the inting project.
include ../../Makefile.common

DASH_LINK=dash/src/show.o dash/src/trap.o dash/src/output.o dash/src/redir.o dash/src/error.o dash/src/times.o dash/src/jobs.o dash/src/arith.o dash/src/mystring.o dash/src/input.o dash/src/arith_yylex.o dash/src/miscbltin.o dash/src/alias.o dash/src/builtins.o dash/src/system.o dash/src/eval.o dash/src/cd.o dash/src/exec.o dash/src/printf.o dash/src/init.o dash/src/test.o dash/src/var.o dash/src/nodes.o dash/src/options.o dash/src/parser.o dash/src/syntax.o dash/src/memalloc.o dash/src/signames.o dash/src/expand.o

all: 
	make -C dash/src all || exit $?
	make libdashlaunch.so.0.0

libdashlaunch.so.0.0: dash_executor.o initng_dash_launcher.o ../../src/libinitng.so
	$(CC) $(LDFLAGS) -fPIC -shared -L../../src -linitng -ldl -lc -Wl,-soname,libdashlaunch.so.0 \
$(DASH_LINK) -o libdashlaunch.so.0.0 $^

dash_executor.o: dash_executor.c dash_executor.h
	$(CC) -fPIC $(LDFLAGS) -I dash/src/ -c dash_executor.c -o dash_executor.o
initng_dash_launcher.o: initng_dash_launcher.c initng_dash_launcher.h


install: libdashlaunch.so.0.0
	install libdashlaunch.so.0.0 $(DESTDIR)/lib/initng
link-install: libdashlaunch.so.0.0
	install -d $(DESTDIR)/lib/initng
	ln -s -f `pwd`/libdashlaunch.so.0.0 $(DESTDIR)/lib/initng/libdashlaunch.so.0.0
uninstall:
	rm -f $(DESTDIR)/lib/initng/libdashlaunch.so.0.0

clean:
	rm *.o libdashlaunch.so.0.0 2>/dev/null ; /bin/true
	make -C dash/src clean || exit $?
