Files
pcas/config/HostSys.txt
1997-06-25 00:49:12 +00:00

91 lines
2.6 KiB
Plaintext

Short Description of the "Host" (vs. "Unix") Build System
---------------------------------------------------------
7-30-96 -kuk-
questions/comments please mailto:kasemir@atdiv.lanl.gov
To build EPICS on the WIN32 architecture
the "old" make-system using Makefile.Unix in each
subdir and RULES.Host was not suitable because
it is too much Unix-dependent.
A "new" system using Makefile.Host and RULES.Host
was used instead. This "host" system should work
on all other architectures as well.
The idea is that ALL architectures should be able to use
the "host" system in future because.
The syntax of the 'Host' Makefiles is described
in 'Sample.Makefile.Host'. Any suggestions for a
better syntax (in connection whith ideas how to
implement this in RULES.Host!) are very welcome!
To use it, only a few changes should be necessary:
A) In CONFIG.<WIN32, sun4, hp700, ... whatever you are using>:
1) Set
BUILD_TYPE=Host
instead of 'Unix'. This switches you over to using
Makefile.Host instead of Makefile.Unix.
2) Set ARCH_CLASS to the correct architecture class.
(ARCH_CLASS used to be defined in the past, right now
it seems it's only set for VxWorks targets, not hosts).
ARCH_CLASS is used to define system-dependent
CFLAGS, library contents etc. in Makefile.Host,
so it should describe the general architecture,
maybe
WIN32 : this is the only one really supported in Makefile.Host by now
BSD for sun4,
SYSV for ??,
Maybe this "general arch" is not sufficient, so we will
end up using
ARCH_CLASS=WIN32, sun4, hp700, ....
as it used to be.
3) Make sure that the following (new) macros are defined:
CP =$(PERL) $(EPICS_BASE)/src/tools/cp.pl
MV =$(PERL) $(EPICS_BASE)/src/tools/mv.pl
RM =$(PERL) $(EPICS_BASE)/src/tools/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE)/src/tools/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE)/src/tools/rm.pl -rf
or
CP=cp
MV=mv
RM=rm -f
MKDIR=mkdir
RMDIR=rm -rf
EXE=
OBJ=.o
4) LINK.c and LINK.cc must now include the target-flag, e.g.:
LINK.c = $(CC) $(LDFLAGS) -o $@
because the "-o $@" is also system dependent (it's -Fe$@ for WIN32)
5) The bin directory for the host based epics tools
$(EPICS)/base/bin/$(HOST_ARCH)
must be in your PATH.
B) Adjust Makefile.Host
If you are trying to build EPICS now, there might be errors
because the Makefile.Host files are only tested on WIN32, yet.
If changes are necessare in some base/src/???/Makefile.Host,
refer to Sample.Makefile.Host in the base/config dir.
The current make-system for WIN32
needs
* gnumake (OK, sources for WIN32 are available)
* perl (OK, sources for WIN32 are available)