Files
pcas/config/RULES.Vx
1996-09-17 14:48:28 +00:00

263 lines
5.9 KiB
Plaintext

# $Id$
INCREC +=$(RECTYPES) $(MENUS)
INSTALL_PROD=$(PROD:%=$(INSTALL_BIN)/%)
INSTALL_LIBS=$(LIBNAME:%=$(INSTALL_BIN)/%)
INSTALL_INC=$(INC:%=$(INSTALL_INCLUDE)/%)
INSTALL_INCREC=$(INCREC:%=$(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_INSTALLS=$(INSTALLS:%=$(INSTALL_BIN)/%)
INSTALL_BPTS=$(BPTS:%=$(INSTALL_DBD)/%)
INSTALL_DBS=$(DBDINSTALL:%=$(INSTALL_DBD)/%)\
$(RECTYPES:%.h=$(INSTALL_DBD)/%.dbd)\
$(MENUS:%.h=$(INSTALL_DBD)/%.dbd)
INSTALL_DBDNAME=$(DBDNAME:%=$(INSTALL_DBD)/%)
all:: install
rebuild:: clean install
pre_build::
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
$(LIBNAME) $(TARGETS) $(PROD) $(DBDNAME)
inc:: $(INSTALL_INC)
install:: inc build $(INSTALL_INCREC)\
$(INSTALL_LIBS) $(TARGETS) $(INSTALL_PROD) $(INSTALL_MANS)\
$(INSTALL_DOCS) $(INSTALL_SCRIPTS)\
$(INSTALL_INSTALLS) $(INSTALL_DBS) $(INSTALL_BPTS)\
$(INSTALL_DBDNAME)
depends:: $(SRCS.c) $(SRCS.cc)
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) \
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
# The order of the following dependencies is
# VERY IMPORTANT !!!!
%: %.o
$(RM) $@
$(LINK.c) $@ $<
#$(PROD): $(OBJS)
# $(RM) $@
# $(LINK.c) $@ $(OBJS)
%.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 "$(MV) y.tab.c $*.c"; \
$(MV) y.tab.c $*.c; \
fi
@if [ -f y.tab.h ]; \
then \
echo "$(MV) y.tab.h $*.h"; \
$(MV) y.tab.h $*.h; \
fi
%.c: ../%.l
$(RM) lex.yy.c
$(LEX) $(LEXOPT) $<
$(RM) $@
$(MV) lex.yy.c $@
#state notation language rules
%.c: ../%.st
@echo "preprocessing $*.st"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $< $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: %.stt
@echo "converting $<
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
%.edf: ../%.sch $(DEPSCHS)
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
# Mangen Rule:
%.1:%
$(RM) $(<F)
$(RM) $(<F).nr
ln -s $<
$(MANGEN) -s $(<F)
mv $(<F).nr $(<F).1
$(INSTALL_DBD)/%: %
@echo "Installing $@"
@test -d $(INSTALL_DBD) || mkdir $(INSTALL_DBD)
@$(INSTALL) -m 644 $< $(INSTALL_DBD)
$(INSTALL_DBD)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_DBD) || mkdir $(INSTALL_DBD)
@$(INSTALL) -m 644 $< $(INSTALL_DBD)
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(USER_DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(USER_DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
$(DBDNAME): ../$(DBDEXPAND)
@echo expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand\
$(USER_DBDFLAGS) $< > $@
$(LIBNAME): $(LIBOBJS)
@echo Building library $@
@$(RM) $@
$(LINK.c) $@ $(LIBOBJS)
$(INSTALL_BIN)/%: %
@echo "Installing $@"
@test -d $(INSTALL_LOCATION_BIN) || mkdir $(INSTALL_LOCATION_BIN)
@test -d $(INSTALL_BIN) || mkdir $(INSTALL_BIN)
@$(INSTALL) -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) -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: $(EPICS_BASE_BIN)/%
@echo "Installing $@"
@test -d $(INSTALL_LOCATION_BIN) || mkdir $(INSTALL_LOCATION_BIN)
@test -d $(INSTALL_BIN) || mkdir $(INSTALL_BIN)
@$(INSTALL) -m 555 $< $(INSTALL_BIN)
$(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_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_DOC)/%: ../%
@echo "Installing $@"
@test -d $(INSTALL_DOC) || mkdir $(INSTALL_DOC)
@$(INSTALL) -m 644 $< $(INSTALL_DOC)
.PRECIOUS: %.o %.c
.PHONY: all inc depends build install pre-build clean rebuild
-include .DEPENDS