# Makefile for UZIX modules
.SUFFIXES: .c .obj .as .lib
CPM = cpm -h
CC = cpm -h c
AS = cpm -h zas
LINK = cpm -h link
LIBR = cpm -h libr
OBJHEX = cpm -h objtohex
M80 = cpm m80n
L80 = cpm l80m
RM = rm
#DEFINES = -DORI_UTIL
#DEFINES = -DORI_UZIX
DEFINES = -DORI_FDISK
CFLAGS = -O -x
ASFLAGS = -N
OBJ_MKFS = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj data.obj
OBJ_BD = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj data.obj
OBJ_FSCK = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj data.obj
OBJ_UCP = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj sc2.obj XFS.obj ucs.obj data.obj
OBJ_UZIX = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj sc2.obj sc3.obj pr1.obj pr2.obj swp.obj
OBJ_FDSK = fdisk2.obj fdisk1.obj f_mkfs.obj dsk.obj
.c.obj :
$(CC) $(CFLAGS) $(DEFINES) -c $*.c
.as.obj :
$(AS) $(ASFLAGS) -L$*.lst $*.as
# compiled without optimization (-O) because optimizer spoiling #asm blocks :
md.obj : md.c machdep.orn machdep2.orn
$(CC) $(DEFINES) -x -c md.c
# corecompiled (step-by-step) because no memory for $$EXEC (sc1.c too big)
sc1.obj : sc1.c
$(CPM) CPP -DCPM -DHI_TECH_C -Dz80 $(DEFINES) -I sc1.c CTMP1.TMP
$(CPM) P1 CTMP1.TMP CTMP2.TMP CTMP3.TMP
$(CPM) CGEN CTMP2.TMP CTMP1.TMP
$(CPM) OPTIM CTMP1.TMP CTMP2.TMP
$(CPM) ZAS -X -J -N -osc1.obj CTMP2.TMP
$(RM) CTMP1.TMP CTMP2.TMP
# corecompiled (step-by-step) because no memory for $$EXEC (sc2.c too big)
sc2.obj : sc2.c
$(CPM) CPP -DCPM -DHI_TECH_C -Dz80 $(DEFINES) -I sc2.c CTMP1.TMP
$(CPM) P1 CTMP1.TMP CTMP2.TMP CTMP3.TMP
$(CPM) CGEN CTMP2.TMP CTMP1.TMP
$(CPM) OPTIM CTMP1.TMP CTMP2.TMP
$(CPM) ZAS -X -J -N -osc2.obj CTMP2.TMP
$(RM) CTMP1.TMP CTMP2.TMP
idebdos.com : idebdos.mac
$(M80) idebdos,=idebdos
$(L80) /p:100,idebdos,idebdos/n/e
bd.com : $(OBJ_BD) bd.c
$(CC) $(CFLAGS) $(DEFINES) bd.c $(OBJ_BD)
fsck.com : $(OBJ_FSCK) fsck.c
$(CC) $(CFLAGS) $(DEFINES) fsck.c $(OBJ_FSCK)
mkfs.com : $(OBJ_MKFS) mkfs.c
$(CC) $(CFLAGS) $(DEFINES) mkfs.c $(OBJ_MKFS)
ucp.com : $(OBJ_UCP) ucp.c
$(CC) $(CFLAGS) $(DEFINES) ucp.c $(OBJ_UCP)
uzix.com : $(OBJ_UZIX) uzix.c dispatch.c
$(CC) -x $(DEFINES) uzix.c $(OBJ_UZIX)
fdisk.com : $(OBJ_FDSK) fdisk.c
$(CC) $(CFLAGS) fdisk.c $(OBJ_FDSK)
# set "DEFINES" to "-DORI_UTIL" and do "make clean" before doing "make utils" !
utils : idebdos.com bd.com fsck.com mkfs.com ucp.com
# set "DEFINES" to "-DORI_UZIX" and do "make clean" before doing "make kernel" !
kernel : idebdos.com uzix.com
clean :
$(RM) $(OBJ_UZIX) data.obj XFS.obj ucs.obj bd.obj fsck.obj mkfs.obj ucp.obj uzix.obj F_MKFS.OBJ FDISK.OBJ FDISK1.OBJ FDISK2.OBJ
[свернуть]