]> Zhao Yanbai Git Server - minix.git/commitdiff
New Makefiles for mkdep script.
authorJorrit Herder <jnherder@minix3.org>
Fri, 24 Jun 2005 16:21:54 +0000 (16:21 +0000)
committerJorrit Herder <jnherder@minix3.org>
Fri, 24 Jun 2005 16:21:54 +0000 (16:21 +0000)
13 files changed:
drivers/Makefile
drivers/at_wini/Makefile
drivers/drivers.h
drivers/floppy/Makefile
drivers/fxp/Makefile
drivers/libdriver/Makefile
drivers/libpci/Makefile
drivers/memory/Makefile
drivers/printer/Makefile
drivers/printer/printer.c
drivers/rtl8139/Makefile
drivers/tty/Makefile
drivers/tty/tty.c

index b9eb9d784bc690a76d6552f57daf3dc27e53fe7d..610af2bc21e024997538ab35eddc067d0247320e 100644 (file)
@@ -13,7 +13,7 @@ usage:
        @echo "" >&2
 
 build: all
-all install clean:
+all install depend clean:
        cd ./libdriver && $(MAKE) $@
        cd ./libpci && $(MAKE) $@
        cd ./tty && $(MAKE) $@
index 8f155d69adf12e1ee91226f8d59588bb1ec05c3f..943445fe890cba1603bdab7df5442f8c09b2a468 100644 (file)
@@ -38,18 +38,9 @@ install:     /usr/sbin/drivers/$(DRIVER)
 clean:
        rm -f $(DRIVER) *.o *.bak 
 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c ../libdriver/*.c > .depend
 
-# dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
-l =    $d/libdriver/driver.h $d/libdriver/driver.c $m/partition.h $m/u64.h 
-
-
-at_wini.o:     $a $l   
-
-$(LIBDRIVER):  $a $l
-$(LIBDRIVER):  $s/ioc_disk.h
+# Include generated dependencies.
+include .depend
 
index 8d45e97b4512b4e0f7c2d97413fac4e0e767c44d..69eb79b953e25641a5550b0100e5f9932a67e2ea 100644 (file)
@@ -23,6 +23,8 @@
 #include <ibm/ports.h>         /* Well-known ports */
 
 #include <string.h>
+#include <signal.h>
+#include <stdlib.h>
 #include <limits.h>
 #include <stddef.h>
 #include <errno.h>
index c61d702721afeddb7128c81a6202da0f5b04815b..e0144d4c98b93ffd1c1fa917a3d746da497fcebb 100644 (file)
@@ -37,18 +37,9 @@ install:     /usr/sbin/drivers/$(DRIVER)
 clean:
        rm -f $(DRIVER) *.o *.bak 
 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c ../libdriver/*.c > .depend
 
-# dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
-l =    $d/libdriver/driver.h $d/libdriver/driver.c $m/partition.h $m/u64.h 
-
-
-floppy.o:      $a $l   
-
-$(LIBDRIVER):  $a $l
-$(LIBDRIVER):  $s/ioc_disk.h
+# Include generated dependencies.
+include .depend
 
index 8c20132f5cb62d20a18bd9e9724358dea724f5ed..afafd050822fae183ca3ad3e9ac64cdecf8fa51d 100644 (file)
@@ -36,12 +36,9 @@ install:     /usr/sbin/drivers/$(DRIVER)
 clean:
        rm -f *.o *.bak $(DRIVER)
 
-# Dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
-
-fxp.o: $a
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c ../libpci/*.c > .depend
+
+# Include generated dependencies.
+include .depend
 
index 021710fe6bd6cf8bb625b15c33b5e6c60d513ae7..eda7c743433b4edd944055942b9fa6a2450233c0 100644 (file)
@@ -8,7 +8,7 @@ b = $i/ibm
 m = $i/minix
 
 # Programs, flags, etc.
-CC =   exec cc
+CC = exec cc
 CFLAGS = -I$i
 LDFLAGS = -i
 LIBS = -lsys -lutils
@@ -22,16 +22,9 @@ all build install: $(OBJECTS)
 clean:
        rm -f *.o *.bak 
 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
 
-# Dependencies
-a = $m/config.h $i/ansi.h $m/type.h $m/com.h $m/callnr.h $s/types.h \
-       $m/const.h $m/syslib.h $m/utils.h \
-       $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/partition.h $m/u64.h
-
-driver.o:      driver.h $a
-driver.o:      $s/ioc_disk.h
-
-drvlib.o:      driver.h $a
-drvlib.o:      drvlib.h $b/partition.h
+# Include generated dependencies.
+include .depend
 
index b0712a7465fe102a60016a013ad49fc187a09b64..d8f262830f23a92ab41f00b3612d493870707b37 100644 (file)
@@ -22,14 +22,9 @@ all build install: $(OBJECTS)
 clean:
        rm -f *.o *.bak 
 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
 
-# Dependencies
-a = $m/config.h $i/ansi.h $m/type.h $m/com.h $m/callnr.h $s/types.h \
-       $m/const.h $m/syslib.h $m/utils.h \
-       $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/partition.h $m/u64.h
-
-pci.o: $a
-pci.o: pci.h 
-pci.o: pci_amd.h pci_intel.h pci_via.h pci_sis.h 
+# Include generated dependencies.
+include .depend
 
index 2396484932fabd31a1d9c347a7264101659bcab4..a109fea25064915727e9af328d8aa14107c365e7 100644 (file)
@@ -39,17 +39,9 @@ clean:
        rm -f $(DRIVER) *.o *.bak 
 
 
-# dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
-l =    $d/libdriver/driver.h $d/libdriver/driver.c $m/partition.h $m/u64.h 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c ../libdriver/*.c > .depend
 
-
-memory.o:      $a $l   
-
-$(LIBDRIVER):  $a $l
-$(LIBDRIVER):  $s/ioc_disk.h
+# Include generated dependencies.
+include .depend
 
index 4ab6e08077958e4e9e7124b77afcb364a0f10beb..0e8e06cd5f05819b23cffe799b8c59dbb54f8045 100644 (file)
@@ -21,23 +21,21 @@ OBJ = printer.o
 all build:     $(DRIVER)
 $(DRIVER):     $(OBJ)
        $(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS)
-       install -S 64w $(DRIVER)
+#      install -S 64w $(DRIVER)
 
 # install with other drivers
 install:       /usr/sbin/drivers/$(DRIVER)
 /usr/sbin/drivers/$(DRIVER):   $(DRIVER)
-       install -o root -cs $? $@
+       install -o root -c $? $@
+#      install -o root -cs $? $@
 
 # clean up local files
 clean:
        rm -f *.o *.bak $(DRIVER)
 
-# Dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
 
-printer.o:     $a
+# Include generated dependencies.
+include .depend
 
index d9a44a848613a9dd04118d80e6942dee819f85d4..699f0c72e4581e35af355d21dd4cac6a8c624900 100644 (file)
@@ -12,7 +12,7 @@
  *   DEV_CLOSE:        does nothing
  *   HARD_INT: interrupt handler has finished current chunk of output
  *   DEV_WRITE:        a process wants to write on a terminal
- *   CANCEL:           terminate a previous incomplete system call immediately
+ *   CANCEL:   terminate a previous incomplete system call immediately
  *
  *    m_type      TTY_LINE   PROC_NR    COUNT    ADDRESS
  * |-------------+---------+---------+---------+---------|
@@ -99,6 +99,8 @@ PRIVATE vir_bytes user_vir;   /* address of remainder of user buf */
 PRIVATE int writing;           /* nonzero while write is in progress */
 PRIVATE int irq_hook_id;       /* id of irq hook at kernel */
 
+extern int errno;              /* error number */
+
 FORWARD _PROTOTYPE( void do_cancel, (message *m_ptr) );
 FORWARD _PROTOTYPE( void output_done, (void) );
 FORWARD _PROTOTYPE( void do_write, (message *m_ptr) );
@@ -106,6 +108,25 @@ FORWARD _PROTOTYPE( void prepare_output, (void) );
 FORWARD _PROTOTYPE( void do_initialize, (void) );
 FORWARD _PROTOTYPE( void reply, (int code,int replyee,int proc,int status));
 FORWARD _PROTOTYPE( void do_printer_output, (void) );
+FORWARD _PROTOTYPE( void signal_handler, (int sig) );
+
+
+
+/*===========================================================================*
+ *                              signal_handler                              *
+ *===========================================================================*/
+PRIVATE void signal_handler(sig)
+int sig;                                       /* signal number */
+{
+/* Expect a SIGTERM signal when this server must shutdown. */
+  if (sig == SIGTERM) {
+       printf("Shutting down PRINTER driver\n");
+       exit(0);
+  } else {
+       printf("PRINTER got unknown signal\n");
+  }
+}
+
 
 /*===========================================================================*
  *                             printer_task                                 *
@@ -115,9 +136,18 @@ PUBLIC void main(void)
 /* Main routine of the printer task. */
 
   message pr_mess;             /* buffer for all incoming messages */
+#if DEAD_CODE
+  struct sigaction sigact;
+
+  /* Install signal handler.*/
+  sigact.sa_handler = signal_handler;
+  sigact.sa_mask = ~0;                 /* block all other signals */
+  sigact.sa_flags = 0;                 /* default behaviour */
+  printf("PRINTER calls sigaction()\n");
+  if (sigaction(SIGTERM, &sigact, NULL) != OK) 
+      report("PRINTER","warning, sigaction() failed", errno);
+#endif
   
-  printf("PRN: user-level printer driver is up and running\n");
-
   while (TRUE) {
        receive(ANY, &pr_mess);
        switch(pr_mess.m_type) {
index 99bde673a317c97b10fe07db937fe1160c8e7522..adcba51bc7bd761e66a1b369d440b00d2c143406 100644 (file)
@@ -38,17 +38,9 @@ install:     /usr/sbin/drivers/$(DRIVER)
 clean:
        rm -f $(DRIVER) *.o *.bak 
 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c ../libpci/*.c > .depend
 
-# dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
-l =    $d/libpci/pci.h $d/libpci/pci.c $d/libpci/pci_table.c 
-
-
-rtl8139.o:     $a $l   
-
-$(LIBPCI):     $a $l
+# Include generated dependencies.
+include .depend
 
index 76685f0c1fcb80d6cc790781bed587a067ee643d..3a8ca61a23314936382d652800bbaa688a61b015 100644 (file)
@@ -36,20 +36,10 @@ clean:
        cd keymaps && $(MAKE) -$(MAKEFLAGS) $@
        rm -f $(DRIVER) *.o *.bak 
 
+depend: 
+       /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
 
-
-# dependencies
-a =    $d/drivers.h $b/interrupt.h $b/bios.h \
-       $i/ansi.h $i/string.h $i/limits.h $i/stddef.h $i/errno.h \
-       $m/config.h $m/type.h $m/com.h $m/callnr.h $m/const.h $s/types.h \
-       $m/syslib.h $s/types.h \
-       $m/utils.h $m/devio.h
-
-tty.o: tty.h $a        
-console.o: tty.h $a
-vidcopy.o:     # nothing
-keyboard.o: tty.h $a
-rs232.o: tty.h $a $i/termios.h $i/signal.h 
-
+# Include generated dependencies.
+include .depend
 
 
index f20c8ded98d9f30fa343c32199b2b2745e640e9a..dd2b7348e7a6fad3a023b52928b201d4ed430245 100644 (file)
@@ -120,7 +120,7 @@ FORWARD _PROTOTYPE( void reprint, (tty_t *tp)                               );
 FORWARD _PROTOTYPE( void dev_ioctl, (tty_t *tp)                                );
 FORWARD _PROTOTYPE( void setattr, (tty_t *tp)                          );
 FORWARD _PROTOTYPE( void tty_icancel, (tty_t *tp)                      );
-FORWARD _PROTOTYPE( void tty_init, (tty_t *tp)                         );
+FORWARD _PROTOTYPE( void tty_init, (void)                              );
 #if ENABLE_SRCCOMPAT || ENABLE_BINCOMPAT
 FORWARD _PROTOTYPE( int compat_getp, (tty_t *tp, struct sgttyb *sg)    );
 FORWARD _PROTOTYPE( int compat_getc, (tty_t *tp, struct tchars *sg)    );
@@ -160,17 +160,14 @@ PUBLIC void main(void)
 /* Main routine of the terminal task. */
 
   message tty_mess;            /* buffer for all incoming messages */
-  register tty_t *tp;
   unsigned line;
   int s;
   char *types[] = {"task","driver","server", "user"};
   register struct proc *rp;
+  register tty_t *tp;
 
-  /* Initialize the terminal lines. */
-  for (tp = FIRST_TTY,s=0; tp < END_TTY; tp++,s++) {
-       tp->tty_index = s;
-       tty_init(tp);
-  }
+  /* Initialize the TTY driver. */
+  tty_init();
 
   /* Get kernel environment (protected_mode, pc_at and ega are needed). */ 
   if (OK != (s=sys_getmachine(&machine))) {
@@ -1432,26 +1429,45 @@ register tty_t *tp;
 /*==========================================================================*
  *                             tty_init                                    *
  *==========================================================================*/
-PRIVATE void tty_init(tp)
-tty_t *tp;                     /* TTY line to initialize. */
+PRIVATE void tty_init()
 {
 /* Initialize tty structure and call device initialization routines. */
 
-  tmr_inittimer(&tp->tty_tmr);
+  register tty_t *tp;
+  int s;
 
-  tp->tty_intail = tp->tty_inhead = tp->tty_inbuf;
-  tp->tty_min = 1;
-  tp->tty_termios = termios_defaults;
-  tp->tty_icancel = tp->tty_ocancel = tp->tty_ioctl = tp->tty_close =
+  struct sigaction sigact;
+
+  /* Initialize the terminal lines. */
+  for (tp = FIRST_TTY,s=0; tp < END_TTY; tp++,s++) {
+
+       tp->tty_index = s;
+
+       tmr_inittimer(&tp->tty_tmr);
+
+       tp->tty_intail = tp->tty_inhead = tp->tty_inbuf;
+       tp->tty_min = 1;
+       tp->tty_termios = termios_defaults;
+       tp->tty_icancel = tp->tty_ocancel = tp->tty_ioctl = tp->tty_close =
                                                                tty_devnop;
-  if (tp < tty_addr(NR_CONS)) {
-       scr_init(tp);
-  } else
-  if (tp < tty_addr(NR_CONS+NR_RS_LINES)) {
-       rs_init(tp);
-  } else {
-       pty_init(tp);
+       if (tp < tty_addr(NR_CONS)) {
+               scr_init(tp);
+       } else
+       if (tp < tty_addr(NR_CONS+NR_RS_LINES)) {
+               rs_init(tp);
+       } else {
+               pty_init(tp);
+       }
   }
+
+#if DEAD_CODE
+  /* Install signal handler to ignore SIGTERM. */
+  sigact.sa_handler = SIG_IGN;
+  sigact.sa_mask = ~0;                 /* block all other signals */
+  sigact.sa_flags = 0;                 /* default behaviour */
+  if (sigaction(SIGTERM, &sigact, NULL) != OK) 
+      report("TTY","warning, sigaction() failed", errno);
+#endif
 }
 
 /*==========================================================================*