# $Id: Makefile 1.2 1995/11/14 22:04:47 digulla Exp digulla $
# $Log: Makefile $
# Revision 1.2	1995/11/14  22:04:47  digulla
# src/ ersetzt durch $(SRCDIR)
# $(SRCDIR)inittable.h mit der Tabelle aller LVOs wird automatisch
#     generiert.
# LIB_PARTS werden nicht mehr aus *.lib sondern aus *.o zusammengesetzt
# Quellfiles werden aus Unterverzeichnissen angezogen
# makedepend-Regel eingebaut
#
# Revision 1.1	1995/11/05  22:39:18  digulla
# Initial revision
#

TOP_DIR 	= prj:
CURRENT_DIR	= source/exec/

include $(TOP_DIR)MakeFlags

SUBDIRS 	= docs kernel memory lists library devices interrupts \
		    messages resident resources semaphores signals tasks
USR_DIST_FILES	=
DEV_DIST_FILES	= Makefile TODO include/exec_intern.h src/execbase.c \
		    internal geninittab.awk $(USR_DIST_FILES)

SRCDIR		= src/
SRCS		= $(SRCDIR)execbase.c
OBJS		= $(patsubst $(SRCDIR)%.c,$(OBJDIR)/%.o,$(SRCS))
DEPS		= $(patsubst $(SRCDIR)%.c,$(OBJDIR)/%.d,$(SRCS))
INCLUDES	=   $(INCLUDE_DIR) $(TOP_DIR)$(CURRENT_DIR)include \
		    $(INCLUDE_DIR) $(TOP_DIR)source/exec/include \
		    $(INCLUDE_DIR) $(TOP_DIR)include

LIB		= $(LIB_PREFIX)exec$(OPT_SUFFIX)$(LIB_SUFFIX)
EXTRA_MAKEFLAGS = LIB=$(TOP_DIR)$(CURRENT_DIR)$(LIB)
LIB_PARTS	= $(wildcard \#?/exec_\#?$(OPT_SUFFIX).lib)

all :: $(OBJDIR) all_subdirs $(LIB)

$(OBJDIR) :
	-$(MKDIR) $(OBJDIR)

all_subdirs :
	@$(subst TARGET,all,$(SUBDIR_RULE))

$(LIB) :: $(OBJS) $(LIB_PARTS)
	-$(RM) $(LIB)
	$(AR) $(LIB) $(OBJS) $(LIB_PARTS)
	$(done-with-it)

install ::
	@$(subst TARGET,$@,$(SUBDIR_RULE))
	$(INSTALL_DATA) $(LIB) $(libdir)$(LIB)
	$(done-with-it)

clean ::
	-$(RM) $(OBJS) $(LIB)
	@$(subst TARGET,$@,$(SUBDIR_RULE))

check ::
	@$(subst TARGET,$@,$(SUBDIR_RULE))

dist ::
	@$(subst TARGET,$@,$(SUBDIR_RULE))
	@$(do-dist)

$(OBJDIR)/%.o : $(SRCDIR)%.c
	$(run-cc)

$(OBJDIR)/%.d : $(SRCDIR)%.c
	$(make-depend)

inittable : $(wildcard */$(SRCDIR)*.c) geninittab.awk
	list "#?/src/#?.c" lformat="%s%s" > t:filelist
	gawk -f geninittab.awk t:filelist >> $(SRCDIR)inittable.h
	-$(RM) t:filelist

protos : $(wildcard */$(SRCDIR)*.c) genprotos.awk
	list "#?/src/#?.c" lformat="%s%s" > t:filelist
	gawk -f genprotos.awk t:filelist > include/clib/exec_protos.h
	-$(RM) t:filelist

-include $(DEPS)
