Files
epics-base/config/RULES.Unix
1996-06-28 15:12:57 +00:00

201 lines
5.0 KiB
Plaintext

# $Id$
INSTALL_PROD=$(PROD:%=$(INSTALL_BIN)/%)
INSTALL_LIBS=$(LIBNAME:%=$(INSTALL_LIB)/%)
INSTALL_INC=$(INC:%=$(INSTALL_INCLUDE)/%)
INSTALL_MANS+=$(MAN1:%=$(INSTALL_MAN)/man1/%)
INSTALL_MANS+=$(MAN2:%=$(INSTALL_MAN)/man2/%)
INSTALL_MANS+=$(MAN3:%=$(INSTALL_MAN)/man3/%)
INSTALL_MANS+=$(MAN4:%=$(INSTALL_MAN)/man4/%)
INSTALL_MANS+=$(MAN5:%=$(INSTALL_MAN)/man5/%)
INSTALL_MANS+=$(MAN6:%=$(INSTALL_MAN)/man6/%)
INSTALL_MANS+=$(MAN7:%=$(INSTALL_MAN)/man7/%)
INSTALL_MANS+=$(MAN8:%=$(INSTALL_MAN)/man8/%)
INSTALL_MANS+=$(MAN9:%=$(INSTALL_MAN)/man9/%)
INSTALL_DOCS=$(DOCS:%=$(INSTALL_DOC)/%)
INSTALL_SCRIPTS=$(SCRIPTS:%=$(INSTALL_BIN)/%)
INSTALL_TEMPLATE=$(TEMPLATES:%=$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%)
INSTALL_TCLLIBS=$(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%)
INSTALL_TCLINDEX=$(TCLINDEX:%=$(INSTALL_TCLLIB)/%)
INSTALL_CONFIGS=$(CONFIGS:%=$(INSTALL_CONFIG)/%)
all: install
pre_build:
build: pre_build $(LIBNAME) $(TARGETS) $(PROD)
install: build $(INSTALL_INC) $(INSTALL_LIBS) $(TARGETS) $(INSTALL_PROD) \
$(INSTALL_MANS) $(INSTALL_DOCS) $(INSTALL_SCRIPTS) $(INSTALL_TEMPLATE) \
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX) $(INSTALL_CONFIGS)
depends: $(SRCS.c) $(SRCS.cc)
rm -f .DEPENDS
touch .DEPENDS
ifdef SRCS
echo you have a SRCS in your Makefile
exit 2
endif
ifdef SRCS.c
$(DEPENDS_RULE.c)
endif
ifdef SRCS.cc
$(DEPENDS_RULE.cc)
endif
clean::
@echo "Cleaning"
@$(RM) *.i *.o *.a $(TARGETS) $(PROD) $(LIBNAME) $(INC)
$(TARGETS) $(PROD): $(DEPLIBS)
# The order of the following dependencies is
# VERY IMPORTANT !!!!
%: %.o
$(RM) $@
$(LINK.c) -o $@ $< $(LDLIBS)
#$(PROD): $(OBJS) $(DEPLIBS)
# $(RM) $@
# $(LINK.c) -o $@ ${OBJS} $(LDLIBS)
%.o: %.c
$(RM) $@
$(COMPILE.c) $<
%.o: ../%.c
$(RM) $@
$(COMPILE.c) $<
%.o: %.cc
$(RM) $@
$(COMPILE.cc) $<
%.o: ../%.cc
$(RM) $@
$(COMPILE.cc) $<
%.c: ../%.y
$(RM) y.tab.c y.tab.h
$(YACC) $(YACCOPT) $<
@if [ -f y.tab.c ]; \
then \
echo "/bin/mv y.tab.c $*.c"; \
/bin/mv y.tab.c $*.c; \
fi
@if [ -f y.tab.h ]; \
then \
echo "/bin/mv y.tab.h $*.h"; \
/bin/mv y.tab.h $*.h; \
fi
%.c: ../%.l
$(RM) lex.yy.c
$(LEX) $(LEXOPT) $<
$(RM) $@
/bin/mv lex.yy.c $@
#state notation language rule
%.c: ../%.st
@echo "preprocessing $*.st"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $< $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
$(LIBNAME): $(LIBOBJS)
@echo Building library $@
$(RM) $@
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
@if [ ! -z "$(RANLIB)" ] ; then\
echo $(RANLIB) $@; \
$(RANLIB) $@; \
fi
$(INSTALL_BIN)/%: %
@echo "Installing $@"
@test -d $(INSTALL_LOCATION_BIN) || mkdir $(INSTALL_LOCATION_BIN)
@test -d $(INSTALL_BIN) || mkdir $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_LOCATION_BIN) || mkdir $(INSTALL_LOCATION_BIN)
@test -d $(INSTALL_BIN) || mkdir $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
$(INSTALL_LIB)/%.a: %.a
@echo "Installing library $@"
@test -d $(INSTALL_LOCATION_LIB) || mkdir $(INSTALL_LOCATION_LIB)
@test -d $(INSTALL_LIB) || mkdir $(INSTALL_LIB)
@$(INSTALL) -m 644 $< $(INSTALL_LIB)
@if [ ! -z "$(RANLIB)" ] ; then\
$(RANLIB) $(RANLIBFLAGS) $@; \
fi
$(INSTALL_CONFIG)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_CONFIG) || mkdir $(INSTALL_CONFIG)
@$(INSTALL) -m 644 $< $(INSTALL_CONFIG)
$(INSTALL_TCLLIB)/%: ../%
@echo "Installing Tcl library $@"
@test -d $(INSTALL_LOCATION_LIB) || mkdir $(INSTALL_LOCATION_LIB)
@test -d $(INSTALL_LIB) || mkdir $(INSTALL_LIB)
@$(INSTALL) -m 644 $< $(INSTALL_LIB)
$(INSTALL_TCLLIB)/$(TCLINDEX): $(INSTALL_TCLLIBS)
@echo "Updating $@"
@echo eval auto_mkindex $(INSTALL_LIB) "$(TCLLIBNAME)" | tclsh
$(INSTALL_MAN)/man9/% \
$(INSTALL_MAN)/man8/% \
$(INSTALL_MAN)/man7/% \
$(INSTALL_MAN)/man6/% \
$(INSTALL_MAN)/man5/% \
$(INSTALL_MAN)/man4/% \
$(INSTALL_MAN)/man3/% \
$(INSTALL_MAN)/man2/% \
$(INSTALL_MAN)/man1/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_MAN) || mkdir $(INSTALL_MAN)
@test -d $(@D) || mkdir $(@D)
@$(INSTALL) -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing $@"
@test -d $(INSTALL_INCLUDE) || mkdir $(INSTALL_INCLUDE)
@$(INSTALL) -m 644 $< $(INSTALL_INCLUDE)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_INCLUDE) || mkdir $(INSTALL_INCLUDE)
@$(INSTALL) -m 644 $< $(INSTALL_INCLUDE)
$(INSTALL_DOC)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_DOC) || mkdir $(INSTALL_DOC)
@$(INSTALL) -m 644 $< $(INSTALL_DOC)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_TEMPLATES) || mkdir $(INSTALL_TEMPLATES)
@test -d $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) || \
mkdir $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
@$(INSTALL) -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: %
@echo "Installing $@"
@test -d $(INSTALL_TEMPLATES) || mkdir $(INSTALL_TEMPLATES)
@test -d $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) || \
mkdir $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
@$(INSTALL) -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
.PRECIOUS: %.o %.c
include .DEPENDS