source: rtems/c/src/lib/libc/Makefile.in @ 657e1bf6

4.104.114.84.95
Last change on this file since 657e1bf6 was 657e1bf6, checked in by Joel Sherrill <joel.sherrill@…>, on 10/26/99 at 20:17:13

Added initial cut at miniIMFS which leaves out memfile and directory
readdir support. The next step is to add a mount table and configure
either the miniIMFS or the full IMFS at the application level.

  • Property mode set to 100644
File size: 3.6 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7top_srcdir = @top_srcdir@
8top_builddir = ..
9subdir = libc
10
11RTEMS_ROOT = @RTEMS_ROOT@
12PROJECT_ROOT = @PROJECT_ROOT@
13
14VPATH = @srcdir@
15
16LIBNAME = libcsupport.a
17LIB = ${ARCH}/${LIBNAME}
18
19ERROR_C_PIECES=error
20
21ASSOCIATION_C_PIECES=assoc assocnamebad
22
23BASE_FS_C_PIECES = base_fs mount unmount ioman libio libio_sockets eval \
24    fs_null_handlers
25
26IMFS_C_PIECES = imfs_chown imfs_creat imfs_directory imfs_eval imfs_free \
27    imfs_fsunmount imfs_gtkn imfs_init imfs_initsupp imfs_link imfs_mknod \
28    imfs_mount imfs_fchmod imfs_rmnod imfs_unlink imfs_unmount imfs_utime \
29    imfs_ntype imfs_stat imfs_getchild memfile deviceio imfs_handlers_device \
30    imfs_handlers_directory imfs_handlers_memfile imfs_debug imfs_symlink \
31    imfs_readlink imfs_fdatasync imfs_fcntl miniimfs_init
32
33TERMIOS_C_PIECES = cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcgetattr \
34    tcsetattr tcdrain tcflow tcflush termios \
35    termiosinitialize termiosreserveresources
36
37SYSTEM_CALL_C_PIECES = open close read write lseek ioctl mkdir mknod mkfifo \
38    rmdir chdir chmod fchmod chown link unlink umask ftruncate utime fstat \
39    fcntl fpathconf getdents fsync fdatasync pipe dup dup2 symlink readlink \
40    creat isatty
41
42DIRECTORY_SCAN_C_PIECES = opendir closedir readdir rewinddir scandir seekdir \
43    telldir getcwd
44
45MALLOC_C_PIECES = malloc __brk __sbrk
46
47PASSWORD_GROUP_C_PIECES = getpwent getgrent
48
49LIBC_GLUE_C_PIECES = __gettod __times truncate access stat lstat pathconf \
50    newlibc no_libc
51
52UNIX_LIBC_C_PIECES = unixlibc hosterr
53
54# C and C++ source names, if any, go here -- minus the .c or .cc
55UNIX_C_PIECES = $(UNIX_LIBC_C_PIECES) $(BASE_FS_C_PIECES) $(MALLOC_C_PIECES) \
56    $(TERMIOS_C_PIECES) $(ERROR_C_PIECES) $(ASSOCIATION_C_PIECES)
57
58EMBEDDED_C_PIECES = $(LIBC_GLUE_C_PIECES) $(BASE_FS_C_PIECES) \
59    $(MALLOC_C_PIECES) $(PASSWORD_GROUP_C_PIECES) $(TERMIOS_C_PIECES) \
60    $(SYSTEM_CALL_C_PIECES) $(DIRECTORY_SCAN_C_PIECES) $(IMFS_C_PIECES) \
61    $(ERROR_C_PIECES) $(ASSOCIATION_C_PIECES)
62
63
64@UNIX_TRUE@C_PIECES = $(UNIX_C_PIECES)
65@UNIX_FALSE@C_PIECES = $(EMBEDDED_C_PIECES)
66C_FILES = $(C_PIECES:%=%.c)
67C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
68
69H_FILES = $(srcdir)/libcsupport.h
70SYS_H_FILES =
71RTEMS_H_FILES = $(srcdir)/assoc.h $(srcdir)/error.h $(srcdir)/libio.h
72
73include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
74include $(RTEMS_ROOT)/make/lib.cfg
75
76INSTALL_CHANGE = @INSTALL_CHANGE@
77mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
78
79INSTALLDIRS = $(PROJECT_INCLUDE)/rtems $(PROJECT_INCLUDE)/sys \
80    $(PROJECT_INCLUDE)
81
82$(INSTALLDIRS):
83        @$(mkinstalldirs) $(INSTALLDIRS)
84
85SRCS = $(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES)
86OBJS = $(C_O_FILES)
87
88#
89# Add local stuff here using +=
90#
91
92DEFINES +=
93CPPFLAGS +=
94CFLAGS += $(LIBC_DEFINES)
95
96#
97# Add your list of files to delete here.  The config files
98#  already know how to delete some stuff, so you may want
99#  to just run 'make clean' first to see what gets missed.
100#  'make clobber' already includes 'make clean'
101#
102
103CLEAN_ADDITIONS += $(LIB)
104CLOBBER_ADDITIONS +=
105
106all: ${ARCH} preinstall $(LIB)
107        @$(INSTALL_VARIANT) -m 644 ${LIB} $(PROJECT_RELEASE)/lib
108
109$(LIB): $(SRCS) ${OBJS}
110        $(make-library)
111
112# Install the library, appending _g or _p as appropriate.
113# for include files, just use $(INSTALL_CHANGE)
114preinstall:
115        @$(mkinstalldirs) $(INSTALLDIRS)
116        @$(INSTALL_CHANGE) -m 644 $(RTEMS_H_FILES) $(PROJECT_INCLUDE)/rtems
117        @$(INSTALL_CHANGE) -m 644 $(H_FILES) $(PROJECT_INCLUDE)
118        @$(INSTALL_CHANGE) -m 644 $(SYS_H_FILES) $(PROJECT_INCLUDE)/sys
119
120Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
121        cd $(top_builddir) \
122         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
Note: See TracBrowser for help on using the repository browser.