Browse Source

linux build using good defaults

pull/82/head
curt mayer 6 years ago
parent
commit
8fc0274044
  1. 7
      Tools/unix/cpmtools/Makefile
  2. 2
      Tools/unix/cpmtools/config.h
  3. 29
      Tools/unix/cpmtools/cpmfs.c

7
Tools/unix/cpmtools/Makefile

@ -10,11 +10,14 @@ CFLAGS = -g
DEFFORMAT = ibm-3740
DEVICE = posix
DISKDEFS=$(shell cd ../../cpmtools ; pwd)/diskdefs
DEFFORMAT=wbw_fd144
CPPFLAGS = -DDISKDEFS=\"$(DISKDEFS)\" -DFORMAT=\"$(DEFFORMAT)\"
DEVICEOBJ = device_posix.o
OBJECTS = cpmls cpmrm cpmcp cpmchmod cpmchattr mkfs.cpm fsck.cpm
OBJECTS = cpmls cpmrm cpmcp cpmchmod cpmchattr mkfs.cpm fsck.cpm fsed.cpm
all: $(OBJECTS) $(DEST)
cp $(OBJECTS) $(DEST)
@ -41,7 +44,7 @@ fsck.cpm: fsck.cpm.o cpmfs.o getopt.o getopt1.o $(DEVICEOBJ)
$(CC) $(LDFLAGS) -o $@ fsck.cpm.o cpmfs.o getopt.o getopt1.o $(DEVICEOBJ)
fsed.cpm: fsed.cpm.o cpmfs.o getopt.o getopt1.o $(DEVICEOBJ)
$(CC) $(LDFLAGS) -o $@ fsed.cpm.o cpmfs.o getopt.o getopt1.o $(DEVICEOBJ)
$(CC) $(LDFLAGS) -o $@ fsed.cpm.o cpmfs.o getopt.o getopt1.o $(DEVICEOBJ) -lncurses
$(DEST):
mkdir -p $(DEST)

2
Tools/unix/cpmtools/config.h

@ -8,7 +8,7 @@
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_MODE_T 0
#define NEED_NCURSES 0
#define NEED_NCURSES 1
#define HAVE_NCURSES_NCURSES_H 0
#if HAVE_SYS_STAT_H

29
Tools/unix/cpmtools/cpmfs.c

@ -668,6 +668,24 @@ void cpmglob(int optin, int argc, char * const argv[], struct cpmInode *root, in
}
/*}}}*/
FILE *open_diskdefs()
{
FILE *fp;
char *ddenv = getenv("DISKDEFS");
if (fp=fopen("diskdefs","r"))
return fp;
if (fp=fopen(DISKDEFS,"r"))
return fp;
if (ddenv)
if (fp=fopen(ddenv,"r"))
return fp;
fprintf(stderr,"%s: Neither diskdefs%s%s%s nor %s could be opened.\n",
cmd,
ddenv ? ", ": "", ddenv ? ddenv : "", ddenv ? "," : "" , DISKDEFS);
exit(1);
}
/* superblock management */
/* diskdefReadSuper -- read super block from diskdefs file */ /*{{{*/
static int diskdefReadSuper(struct cpmSuperBlock *d, const char *format)
@ -675,18 +693,11 @@ static int diskdefReadSuper(struct cpmSuperBlock *d, const char *format)
char line[256];
FILE *fp;
int insideDef=0,found=0;
char *ddenv = getenv("DISKDEFS");
d->libdskGeometry[0] = '\0';
d->type=0;
if (
(fp=fopen("diskdefs","r"))==(FILE*)0 &&
(ddenv && ((fp=fopen(ddenv,"r"))==(FILE*)0)) &&
(fp=fopen(DISKDEFS,"r"))==(FILE*)0)
{
fprintf(stderr,"%s: Neither `diskdefs' nor `" DISKDEFS "' could be opened.\n",cmd);
exit(1);
}
fp = open_diskdefs();
while (fgets(line,sizeof(line),fp)!=(char*)0)
{
int argc;

Loading…
Cancel
Save