Annotation of OSKit-Mach/Makefile.in, revision 1.1

1.1     ! root        1: # Makefile for OSKit-Mach microkernel
        !             2: # Copyright 1997, 1999 Free Software Foundation, Inc.
        !             3: #
        !             4: # Permission to use, copy, modify and distribute this software and its
        !             5: # documentation is hereby granted, provided that both the copyright
        !             6: # notice and this permission notice appear in all copies of the
        !             7: # software, derivative works or modified versions, and any portions
        !             8: # thereof, and that both notices appear in supporting documentation.
        !             9: #
        !            10: # THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS
        !            11: # "AS IS" CONDITION.  THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY
        !            12: # LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE
        !            13: # USE OF THIS SOFTWARE.
        !            14: 
        !            15: 
        !            16: 
        !            17: 
        !            18: # Variables from `configure'.
        !            19: srcdir=@srcdir@
        !            20: systype=@systype@
        !            21: prefix=@prefix@
        !            22: version = @PACKAGE_VERSION@
        !            23: force_install=@force_install@
        !            24: 
        !            25: exec_prefix=$(prefix)
        !            26: 
        !            27: bootdir=$(exec_prefix)/boot
        !            28: includedir=$(prefix)/include
        !            29: libexecdir=$(exec_prefix)/libexec
        !            30: bindir=$(exec_prefix)/bin
        !            31: 
        !            32: installed-kernel = $(bootdir)/oskit-mach
        !            33: 
        !            34: sysdep = $(srcdir)/$(systype)
        !            35: 
        !            36: # Programs found by configure.
        !            37: AWK = @AWK@
        !            38: INSTALL = @INSTALL@
        !            39: CC = @CC@
        !            40: LD = @LD@
        !            41: NM = @NM@
        !            42: MIG = @MIG@
        !            43: MBCHK = @MBCHK@
        !            44: 
        !            45: INSTALL_PROGRAM = @INSTALL_PROGRAM@
        !            46: INSTALL_DATA = @INSTALL_DATA@
        !            47: 
        !            48: CFLAGS = @CFLAGS@
        !            49: LDFLAGS = @LDFLAGS@
        !            50: SMP_LIBS = @SMP_LIBS@
        !            51: 
        !            52: all:
        !            53: 
        !            54: # All the possible architectures
        !            55: all-archs = i386
        !            56: 
        !            57: all-archs-subdirs = $(patsubst %,$(srcdir)/%/Subdirs,$(all-archs))
        !            58: all-archs-files = $(patsubst %,$(srcdir)/%/Files,$(all-archs))
        !            59: all-archs-configures = $(patsubst %,$(srcdir)/%/configure,$(all-archs))
        !            60: 
        !            61: # Files distributed from the top level directory:
        !            62: topfiles = ChangeLog ChangeLog.0 ChangeLog.00 Drivers.macros Makefile.in \
        !            63:        README INSTALL config.guess config.sub configure configure.in \
        !            64:        gensym.awk install-sh version.c.in NEWS aclocal.m4 COPYING
        !            65: 
        !            66: # All the source in each directory.
        !            67: 
        !            68: # Old crud from a previous configure scheme
        !            69: bogus-files = bootstrap_symbols.h fast_tas.h hw_footprint.h net_atm.h \
        !            70:        power_save.h simple_clock.h stat_time.h \
        !            71:        $(patsubst %,mach_%.h,assert counters debug fixpri host ipc_compat \
        !            72:        ipc_debug ipc_test kdb ldebug lock_mon machine_routines mp_debug \
        !            73:        pagemap pcsample ttd vm_debug) \
        !            74:        $(patsubst %,norma_%.h,device ether ipc task vm)
        !            75: 
        !            76: # Device support interfaces
        !            77: device-files = \
        !            78:               device_init.c dev_pager.c \
        !            79:               net_io.c \
        !            80:               dev_hdr.h dev_master.h device_port.h \
        !            81:               device_types_kernel.h ds_routines.h \
        !            82:               memory_object_reply.cli \
        !            83:               device_pager.srv device.srv \
        !            84:               device_reply.cli device_error_reply.cli
        !            85: device-cfiles = $(filter %.c,$(device-files))
        !            86: 
        !            87: # IPC implementation
        !            88: ipc-cfiles = $(addprefix ipc_,$(ipc-names)) \
        !            89:                mach_msg.c mach_port.c mach_rpc.c mach_debug.c fipc.c
        !            90: ipc-names = entry.c hash.c init.c kmsg.c marequest.c mqueue.c \
        !            91:        notify.c object.c port.c pset.c right.c space.c splay.c \
        !            92:        table.c target.c thread.c
        !            93: ipc-files = $(ipc-cfiles) mach_port.srv fipc.h port.h mach_msg.h \
        !            94:        $(patsubst %,ipc_%.h, \
        !            95:        entry hash init kmsg kmsg_queue machdep marequest mqueue notify \
        !            96:        object port pset right space splay table target thread types)
        !            97: 
        !            98: # "kernel" implementation (tasks, threads, trivia, etc.)
        !            99: kern-cfiles = act.c ast.c bootstrap.c counters.c eventcount.c \
        !           100:        exception.c host.c ipc_host.c ipc_kobject.c ipc_mig.c ipc_sched.c \
        !           101:        ipc_tt.c kalloc.c lock.c lock_mon.c mach_clock.c mach_factor.c \
        !           102:        machine.c pc_sample.c priority.c processor.c profile.c \
        !           103:        queue.c sched_prim.c startup.c syscall_emulation.c \
        !           104:        syscall_subr.c syscall_sw.c task.c thread.c thread_swap.c \
        !           105:        time_stamp.c timer.c zalloc.c boot_script.c
        !           106: kern-files = $(kern-cfiles) \
        !           107:        act.h assert.h ast.h compat_xxx_defs.h counters.h cpu_number.h \
        !           108:        debug.h eventcount.h host.h ipc_host.h ipc_kobject.h ipc_sched.h \
        !           109:        ipc_tt.h kalloc.h kern_types.h lock.h mach_param.h macro_help.h \
        !           110:        pc_sample.h processor.h queue.h refcount.h sched.h sched_prim.h \
        !           111:        shuttle.h syscall_emulation.h syscall_subr.h syscall_sw.h \
        !           112:        task.h thread.h thread_swap.h time_out.h time_stamp.h timer.h \
        !           113:        zalloc.h boot_script.h \
        !           114:        mach.srv mach4.srv mach_debug.srv mach_host.srv
        !           115: 
        !           116: # Virtual memory implementation
        !           117: vm-cfiles = $(addprefix vm_,$(vm-names)) memory_object.c
        !           118: vm-names = debug.c external.c fault.c init.c kern.c map.c \
        !           119:        object.c pageout.c resident.c user.c
        !           120: vm-files = $(vm-cfiles) memory_object_default.cli memory_object_user.cli \
        !           121:        memory_object.h pmap.h $(patsubst %,vm_%.h, \
        !           122:        external fault kern map object page pageout user)
        !           123: 
        !           124: # OSKit support files
        !           125: osenv-overrides = osenv_mem \
        !           126:                  osenv_log \
        !           127:                  osenv_irq \
        !           128:                  osenv_sleep osenv_synch osenv_timer \
        !           129:                  osenv_bell osenv_softirq
        !           130: oskit-cfiles = $(osenv-overrides:=.c) \
        !           131:               main.c ds_osenv.c ds_request.c ds_routines.c kmsg.c \
        !           132:               ds_block.c ds_partition.c \
        !           133:               ds_mem.c ds_bus.c \
        !           134:               ds_net.c \
        !           135:               ds_stream.c \
        !           136:               ds_asyncio.c smp-glue.c
        !           137: oskit-files = $(oskit-cfiles) ds_oskit.h
        !           138: 
        !           139: oskit-dirs-alpha := alpha pc
        !           140: oskit-dirs-i386 := x86 pc
        !           141: 
        !           142: 
        !           143: # Documentation
        !           144: doc-files = Makefile.in fdl.texi gpl.texi mach.texi
        !           145: 
        !           146: # Debian packaging
        !           147: debian-files = changelog control copyright README.Debian rules postinst prerm
        !           148: 
        !           149: # Object files that go into the kernel image.  (This will be augmented by the
        !           150: # machine dependent Makefile fragment.)
        !           151: 
        !           152: # Basic kernel source for Mach
        !           153: objfiles := $(patsubst %.c,%.o,$(ipc-cfiles) $(kern-cfiles) $(vm-cfiles) \
        !           154:                               $(device-cfiles) $(oskit-cfiles))
        !           155: vpath %.c $(addprefix $(srcdir)/,ipc kern vm device oskit \
        !           156:                                 $(addprefix oskit/,$(oskit-dirs-$(systype))))
        !           157: 
        !           158: # Version number
        !           159: objfiles += version.o
        !           160: 
        !           161: 
        !           162: # Header files installed for user use
        !           163: device-headers= $(addprefix device/,audio_status.h bpf.h device.defs \
        !           164:                device_reply.defs device_request.defs device_types.defs \
        !           165:                device_types.h disk_status.h net_status.h tape_status.h \
        !           166:                tty_status.h)
        !           167: mach-headers= $(addprefix mach/, bootstrap.defs default_pager.defs \
        !           168:                default_pager_helper.defs default_pager_types.defs \
        !           169:                exc.defs mach.defs mach4.defs mach_host.defs mach_norma.defs \
        !           170:                mach_port.defs mach_types.defs memory_object.defs \
        !           171:                memory_object_default.defs norma_task.defs notify.defs \
        !           172:                std_types.defs \
        !           173:                alert.h boolean.h default_pager_types.h exception.h \
        !           174:                host_info.h kern_return.h mach_param.h mach_types.h \
        !           175:                machine.h macro_help.h memory_object.h message.h mig_errors.h \
        !           176:                msg_type.h norma_special_ports.h notify.h \
        !           177:                pc_sample.h policy.h port.h processor_info.h \
        !           178:                profil.h profilparam.h rpc.h std_types.h syscall_sw.h \
        !           179:                task_info.h task_special_ports.h thread_info.h \
        !           180:                thread_special_ports.h thread_status.h thread_switch.h \
        !           181:                time_value.h version.h vm_attributes.h vm_inherit.h \
        !           182:                vm_param.h vm_prot.h vm_statistics.h inline.h)
        !           183: mach-debug-headers:= $(addprefix mach_debug/, hash_info.h ipc_info.h \
        !           184:                mach_debug.defs mach_debug_types.defs mach_debug_types.h \
        !           185:                pc_info.h vm_info.h zone_info.h)
        !           186: 
        !           187: installed-headers:= $(device-headers) $(mach-headers)
        !           188: 
        !           189: # Other headers for the distribution.  We don't install these, because the
        !           190: # GNU C library has correct versions for users to use.
        !           191: other-sys-headers := types.h time.h reboot.h ioctl.h
        !           192: other-mach-headers := mig_support.h mach_traps.h error.h
        !           193: other-headers := alloca.h
        !           194: 
        !           195: 
        !           196: # Automatically generated source
        !           197: 
        !           198: # User stubs
        !           199: objfiles += memory_object_user_user.o memory_object_default_user.o \
        !           200:            memory_object_reply_user.o \
        !           201:            device_reply_user.o device_error_reply_user.o
        !           202: 
        !           203: # Server stubs
        !           204: objfiles += device_server.o device_pager_server.o mach_port_server.o \
        !           205:        mach_server.o mach4_server.o mach_debug_server.o mach_host_server.o
        !           206: 
        !           207: # Where to find the relevant Mig source files
        !           208: vpath %.cli $(srcdir)/vm $(srcdir)/device
        !           209: vpath %.srv $(srcdir)/device $(srcdir)/ipc $(srcdir)/kern
        !           210: 
        !           211: 
        !           212: # We need this symlink in place before we start compiling,
        !           213: # so <mach/machine/foo.h> headers can be found.
        !           214: before-compile = mach/machine
        !           215: mach/machine: mach_machine
        !           216:        test -d $(@D) || mkdir $(@D)
        !           217:        rm -f $@
        !           218:        ln -s ../mach_machine mach/machine
        !           219: mach_machine:
        !           220:        rm -f $@
        !           221:        ln -s $(srcdir)/$(systype)/include/mach/$(systype) mach_machine
        !           222: 
        !           223: 
        !           224: 
        !           225: #
        !           226: # Compilation flags
        !           227: #
        !           228: 
        !           229: DEFINES += -DOSKIT_MACH=1 -DMACH -DMACH_KERNEL -DKERNEL -DCONTINUATIONS @DEFS@
        !           230: INCLUDES += -I. -I$(srcdir) -I$(srcdir)/include \
        !           231:            -I$(srcdir)/bogus -I$(srcdir)/kern -I$(srcdir)/device
        !           232: 
        !           233: include $(sysdep)/Makefrag
        !           234: 
        !           235: CPPFLAGS += $(DEFINES) $(INCLUDES)
        !           236: 
        !           237: MIGFLAGS += $(CPPFLAGS)
        !           238: 
        !           239: 
        !           240: # Standard targets
        !           241: 
        !           242: all: kernel
        !           243: 
        !           244: clean:
        !           245:        rm -f *.[oda] kernel
        !           246:        rm -f *.symc *.symc.o *_user.c *_server.c
        !           247:        rm -f $(filter-out config.h,$(wildcard *.h))
        !           248:        rm -f *.migs_d *.migsh_d *.migu_d *.miguh_d
        !           249: 
        !           250: distclean: clean
        !           251:        rm -f config.status config.cache config.log config.h Makefile
        !           252: 
        !           253: mostlyclean: distclean
        !           254: 
        !           255: maintainer-clean: mostlyclean
        !           256:        rm -f $(srcdir)/configure $(all-archs-configures)
        !           257: 
        !           258: check: kernel
        !           259:        $(MBCHK) $<
        !           260: 
        !           261: #
        !           262: # Kernel Image
        !           263: #
        !           264: 
        !           265: # This is the list of routines we decide is OK to steal from the C library.
        !           266: clib-routines := memcpy memmove memset bcopy bzero memchr rawmemchr \
        !           267:                 strstr strtok strchr strchrnul strcpy stpcpy strcat \
        !           268:                 strcmp strncmp \
        !           269:                 htonl htons ntohl ntohs ffs
        !           270: magic-symbols := etext edata end
        !           271: 
        !           272: 
        !           273: OSKIT_LIBDIR = @OSKIT_LIBDIR@
        !           274: OSKIT_LIBS = -loskit_kern -loskit_lmm -loskit_com @SMP_LIBS@ \
        !           275:             -loskit_exec -loskit_unsupp \
        !           276:             -loskit_dev -loskit_linux_dev -loskit_diskpart \
        !           277: 
        !           278: # These rules are useful for development, but have significant overhead.
        !           279: kernel.a: $(objfiles)
        !           280:        @rm -f $@
        !           281:        $(AR) cq $@ $^
        !           282: kernel_nm: kernel.a ; $(NM) -g $< > $@
        !           283: kernel.a.list: kernel.a; $(AR) t $< | sort > $@
        !           284: kernel.map.list: kernel.map
        !           285:        sed -n 's/^kernel\.a(\([^)]*\)).*$$/\1/p' $< | sort > $@
        !           286: kernel-unused: kernel.a.list kernel.map.list
        !           287:        (diff -u0 $^ || test $$? -eq 1) | sed -n '1,/@@/d;s/^-//p' > $@
        !           288: k%nel.o k%nel.map: $(OSKIT_LIBDIR)/multiboot.o $(osenv-overrides:=.o) k%nel.a
        !           289:        $(CC) $(CFLAGS) -nostdlib -nostartfiles $(LDFLAGS) -r \
        !           290:              -o $(@:.map=.o) -Wl,-Map=$(@:.o=.map) \
        !           291:              -Wl,-\( $^ -L$(OSKIT_LIBDIR)/.. $(OSKIT_LIBS) -Wl,-\) -lgcc
        !           292: # This rule has less overhead, but doesn't produce the intermediate
        !           293: # results necessary to compute `kernel-unused'.
        !           294: kernel.o: $(OSKIT_LIBDIR)/multiboot.o $(objfiles)
        !           295:        $(CC) $(CFLAGS) -nostdlib -nostartfiles $(LDFLAGS) -r -o $@ \
        !           296:              -Wl,-\( $^ -L$(OSKIT_LIBDIR)/.. $(OSKIT_LIBS) -Wl,-\) -lgcc
        !           297: 
        !           298: %-undef: %.o
        !           299:        $(NM) -u $< | sed 's/  *U  *//;s/^_*//' | sort -u > $@
        !           300: 
        !           301: kernel-clib: kernel-undef Makefile
        !           302:        sed -n '$(foreach r,$(clib-routines),/^$r$$/p;)' $< > $@
        !           303: clib-routines.o: kernel-clib
        !           304:        $(CC) $(CFLAGS) -nostdlib -nostartfiles $(LDFLAGS) -r -static \
        !           305:              -o $@ \
        !           306:              `sed 's/^/-Wl,-u,/' $<` -x c /dev/null -x none -lc
        !           307: 
        !           308: oskit-kern%.o: kern%.o clib-routines.o
        !           309:        $(CC) $(CFLAGS) -nostdlib -nostartfiles $(LDFLAGS) -r -o $@ \
        !           310:              -Wl,-\( $^ -L$(OSKIT_LIBDIR)/.. \
        !           311:                         -loskit_clientos -loskit_c $(OSKIT_LIBS) -Wl,-\) -lgcc
        !           312: 
        !           313: %-undef-bad: %-undef Makefile
        !           314:        sed '$(foreach r,$(clib-routines) $(magic-symbols),/^$r$$/d;)' $< > $@
        !           315: 
        !           316: kern%: oskit-kern%.o $(OSKIT_LIBDIR)/crtn.o
        !           317:        $(LD) $(LDFLAGS) $(KERN_LDFLAGS) -o $@ $^
        !           318: 
        !           319: # This combined with the other pattern rules let you ask
        !           320: # for a target like `kernel-ide+scsi_ncr53c8xx+ethernet_eepro100'
        !           321: # to link a kernel with a given subset of the oskit drivers.
        !           322: init-%.c:
        !           323:        { echo 'void oskit_linux_init_devs(void) {'; \
        !           324:          for drv in $(subst +, ,$*); do \
        !           325:            echo "  oskit_linux_init_$${drv} ();"; \
        !           326:          done; echo '}'; \
        !           327:        } > $@T
        !           328:        mv -f $@T $@
        !           329: 
        !           330: kernel-%.o: $(OSKIT_LIBDIR)/multiboot.o $(objfiles) init-%.o
        !           331:        $(CC) $(CFLAGS) -nostdlib -nostartfiles $(LDFLAGS) -r -o $@ \
        !           332:              -Wl,-\( $^ -L$(OSKIT_LIBDIR)/.. $(OSKIT_LIBS) -Wl,-\) -lgcc
        !           333: 
        !           334: .PHONY: objs
        !           335: objs: $(objfiles)
        !           336: 
        !           337: #
        !           338: # Installation
        !           339: #
        !           340: installed-headers-names = $(addprefix $(includedir)/,$(installed-headers))
        !           341: installed-sysdep-headers-names = $(addprefix $(includedir)/,$($(systype)-installed-headers))
        !           342: install: install-headers install-kernel
        !           343: 
        !           344: ifeq ($(force_install),yes)
        !           345:  instforce := FORCE
        !           346:  FORCE:
        !           347: else
        !           348:  instforce :=
        !           349: endif
        !           350: 
        !           351: $(installed-headers-names): $(includedir)/%: $(srcdir)/include/% $(instforce)
        !           352:        $(INSTALL_DATA) $< $@
        !           353: 
        !           354: $(installed-sysdep-headers-names): $(includedir)/%: $(sysdep)/include/% \
        !           355:                                                    $(instforce)
        !           356:        $(INSTALL_DATA) $< $@
        !           357: 
        !           358: install-headers: mkheaderdirs $(installed-headers-names) $(installed-sysdep-headers-names)
        !           359:        ln -sf $(systype) $(includedir)/mach/machine
        !           360: 
        !           361: install-kernel: kernel mkkerneldirs
        !           362:        $(INSTALL_PROGRAM) kernel $(installed-kernel)
        !           363: 
        !           364: mkheaderdirs:
        !           365:        mkdir -p $(includedir) $(includedir)/device $(includedir)/mach \
        !           366:                $(includedir)/mach/$(systype) $(includedir)/mach/exec
        !           367: 
        !           368: mkkerneldirs:
        !           369:        mkdir -p $(bootdir)
        !           370: 
        !           371: 
        !           372: #
        !           373: # Building the distribution
        !           374: #
        !           375: 
        !           376: dist:
        !           377:        rm -rf gnumach-$(version)
        !           378:        mkdir gnumach-$(version)
        !           379:        # Directories
        !           380:        mkdir gnumach-$(version)/{bogus,chips,ddb,device,ipc,kern,scsi,util,vm,include}
        !           381:        mkdir gnumach-$(version)/{doc,debian}
        !           382:        mkdir gnumach-$(version)/include/{mach,device,mach_debug,sys}
        !           383:        mkdir gnumach-$(version)/include/mach/exec
        !           384:        for dir in `cat $(all-archs-subdirs)`; do \
        !           385:                mkdir -p gnumach-$(version)/$$dir; \
        !           386:        done
        !           387:        # Files
        !           388:        cp $(addprefix $(srcdir)/,$(topfiles)) gnumach-$(version)
        !           389:        cp $(addprefix $(srcdir)/bogus/,$(bogus-files)) gnumach-$(version)/bogus
        !           390:        cp $(addprefix $(srcdir)/chips/,$(chips-files)) gnumach-$(version)/chips
        !           391:        cp $(addprefix $(srcdir)/ddb/,$(ddb-files)) gnumach-$(version)/ddb
        !           392:        cp $(addprefix $(srcdir)/device/,$(device-files)) gnumach-$(version)/device
        !           393:        cp $(addprefix $(srcdir)/ipc/,$(ipc-files)) gnumach-$(version)/ipc
        !           394:        cp $(addprefix $(srcdir)/kern/,$(kern-files)) gnumach-$(version)/kern
        !           395:        cp $(addprefix $(srcdir)/scsi/,$(scsi-files)) gnumach-$(version)/scsi
        !           396:        cp $(addprefix $(srcdir)/util/,$(util-files)) gnumach-$(version)/util
        !           397:        cp $(addprefix $(srcdir)/vm/,$(vm-files)) gnumach-$(version)/vm
        !           398:        cp $(addprefix $(srcdir)/include/,$(mach-headers)) gnumach-$(version)/include/mach
        !           399:        cp $(addprefix $(srcdir)/include/,$(device-headers)) gnumach-$(version)/include/device
        !           400:        cp $(addprefix $(srcdir)/include/,$(mach-debug-headers)) gnumach-$(version)/include/mach_debug
        !           401:        cp $(addprefix $(srcdir)/include/,$(mach-exec-headers)) gnumach-$(version)/include/mach/exec
        !           402:        cp $(addprefix $(srcdir)/include/,$(other-headers)) gnumach-$(version)/include
        !           403:        cp $(addprefix $(srcdir)/include/sys/,$(other-sys-headers)) gnumach-$(version)/include/sys
        !           404:        cp $(addprefix $(srcdir)/include/mach/,$(other-mach-headers)) gnumach-$(version)/include/mach
        !           405:        cp $(addprefix $(srcdir)/doc/,$(doc-files)) gnumach-$(version)/doc
        !           406:        cp $(addprefix $(srcdir)/debian/,$(debian-files)) gnumach-$(version)/debian
        !           407:        # Files in arch dirs
        !           408:        for file in `cat $(all-archs-files)`; do \
        !           409:                cp $(srcdir)/$$file gnumach-$(version)/`dirname $$file`; \
        !           410:        done
        !           411:        chmod -R u=rwX,og=rX gnumach-$(version)
        !           412:        tar cf - gnumach-$(version) | gzip -9vc > gnumach-$(version).tar.gz
        !           413:        rm -rf gnumach-$(version)
        !           414: # XXX or...
        !           415: #      cd $(srcdir) && dpkg-buildpackage
        !           416: 
        !           417: 
        !           418: 
        !           419: #
        !           420: # Autoconf support
        !           421: #
        !           422: $(srcdir)/configure: $(srcdir)/configure.in
        !           423:        cd $(srcdir) && autoconf
        !           424: $(srcdir)/config.h.in: $(srcdir)/configure.in
        !           425:        cd $(srcdir) && autoheader
        !           426: 
        !           427: Makefile: $(srcdir)/Makefile.in config.status
        !           428:        ./config.status
        !           429: config.h: stamp-configh ;
        !           430: stamp-configh: $(srcdir)/config.h.in config.status
        !           431:        ./config.status
        !           432:        touch $@
        !           433: 
        !           434: config.status: $(srcdir)/configure
        !           435:        ./config.status --recheck
        !           436: 
        !           437: vpath %.in $(srcdir)
        !           438: vpath configure $(srcdir)
        !           439: 
        !           440: 
        !           441: 
        !           442: #
        !           443: # How to do some things
        !           444: #
        !           445: 
        !           446: # Building foo.h from foo.sym:
        !           447: %.symc: %.sym $(srcdir)/gensym.awk
        !           448:        $(AWK) -f $(word 2,$^) $< > $@
        !           449: %.symc.o: %.symc $(before-compile)
        !           450:        $(CC) -S $(CPPFLAGS) $(CFLAGS) $(CPPFLAGS-$@) -x c -o $@ $<
        !           451: %.h: %.symc.o
        !           452:        sed <$< -e 's/^[^*].*$$//' | \
        !           453:                sed -e 's/^[*]/#define/' -e 's/mAgIc[^-0-9]*//' >$@
        !           454: 
        !           455: # Building from foo.cli
        !           456: %.h %_user.c: %.cli $(before-compile)
        !           457:        $(MIG) $(MIGFLAGS) -header $*.h -user $*_user.c -server /dev/null $<
        !           458: 
        !           459: # Building from foo.srv
        !           460: %_interface.h %_server.c: %.srv $(before-compile)
        !           461:        $(MIG) $(MIGFLAGS) -sheader $*_interface.h -server $*_server.c \
        !           462:                           -header /dev/null -user /dev/null $<
        !           463: 
        !           464: #
        !           465: # Dependency generation
        !           466: #
        !           467: 
        !           468: # Include dependency files
        !           469: ifneq ($(no_deps),t)
        !           470: 
        !           471: # For each file generated by MiG we need a .d file.
        !           472: servers = $(filter %_server.o,$(objfiles))
        !           473: -include $(subst _server.o,.migs_d,$(servers)) /dev/null
        !           474: -include $(subst _server.o,.migsh_d,$(servers)) /dev/null
        !           475: 
        !           476: # vm_user.o fits the pattern, but is not actually a MiG-related file.
        !           477: users = $(filter-out vm_user.o,$(filter %_user.o,$(objfiles)))
        !           478: -include $(subst _user.o,.migu_d,$(users)) /dev/null
        !           479: -include $(subst _user.o,.miguh_d,$(users)) /dev/null
        !           480: 
        !           481: # For each .o file we need a .d file.
        !           482: -include $(subst .o,.d,$(filter %.o,$(objfiles))) /dev/null
        !           483: 
        !           484: endif
        !           485: 
        !           486: # Here is how to make those dependency files
        !           487: 
        !           488: %.migs_d: %.srv $(before-compile)
        !           489:        (set -e; $(CPP) $(MIGFLAGS) -M -MG -x c $< | \
        !           490:        sed -e 's/[^:]*:/$(@:.migs_d=_server.c) $@:/' > $@)
        !           491: 
        !           492: %.migu_d: %.cli $(before-compile)
        !           493:        (set -e; $(CPP) $(MIGFLAGS) -M -MG -x c $< | \
        !           494:        sed -e 's/[^:]*:/$(@:.migu_d=_user.c) $@:/' > $@)
        !           495: 
        !           496: %.migsh_d: %.migs_d
        !           497:        sed -e 's/_server\.c /_interface.h /' -e 's/migs_d/migsh_d/' < $< > $@
        !           498: 
        !           499: %.miguh_d: %.migu_d
        !           500:        sed -e 's/_user\.c /.h /' -e 's/migu_d/miguh_d/' < $< > $@
        !           501: 
        !           502: # Generic rule for $(CC) based compilation for making dependencies
        !           503: define make-deps
        !           504: set -e; $(CC) $(CFLAGS) $(CPPFLAGS) -M $< | \
        !           505:        sed > [email protected] -e 's/$*\.o:/$*.o $@:/'
        !           506: mv -f [email protected] $@
        !           507: endef
        !           508: 
        !           509: %.d: %.c $(before-compile); $(make-deps)
        !           510: %.d: %.S $(before-compile); $(make-deps)
        !           511: 
        !           512: # .s files don't go through the preprocessor, so we do this
        !           513: # This rule must come *after* the genuine ones above, so that
        !           514: # make doesn't build a .s file and then make an empty dependency
        !           515: # list.
        !           516: %.d: %.s
        !           517:        echo '$*.o: $<' > $@

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.