# Makefile for the MVS (OS/390 Base) version of UNZIP 5.4 # Produced for C/C++ V3R2 in OS/390 1.2.0 by Ian E. Gorman, 2 Nov 1998 # Facilities for compiling and testing were made available by # OmniMark Technologies Corporation, Ottawa, Canada # NOTES # # The only tabs in this file are in the first character of each recipe # line, where they are required by make. # # Run this makefile in OpenMVS (OS/390 POSIX) using source files in the # HFS file system. You can write the load module to either HFS file # system or to a PDS in the native MVS file system. The PDS must have # sufficient free space to hold the load module. # # To compile to a member of a PDS: # make # or # make unzip.mvs # # To compile a test version into the HFS file system: # make hfs # UNZIP options -- MVS, REENTRANT ZIPOPTS=-DMVS # directories # generic source code SRC=.. SRC_P=$(SRC)/ # source code for MVS CMSMVS=../cmsmvs CMSMVS_P=$(CMSMVS)/ # include files INCLS=-I$(SRC) -I$(CMSMVS) # object files and load modules BLD_P=../mvs/ # Other options # Suffixes (E and O must be different) E= O=.o # Need EXTENDED features for global.c and vmvms.c, so not using c89 CC=cc CFLAGS=-D_OPEN_SYS $(ZIPOPTS) $(INCLS) LD=cc LDFLAGS= # Files # object (TEXT) files OBJECTS= $(BLD_P)unzip$(O) $(BLD_P)crc32$(O) \ $(BLD_P)crypt$(O) $(BLD_P)envargs$(O) $(BLD_P)explode$(O) \ $(BLD_P)extract$(O) $(BLD_P)fileio$(O) $(BLD_P)globals$(O) \ $(BLD_P)inflate$(O) $(BLD_P)process$(O) $(BLD_P)list$(O) \ $(BLD_P)match$(O) $(BLD_P)ttyio$(O) $(BLD_P)unreduce$(O) \ $(BLD_P)unshrink$(O) $(BLD_P)zipinfo$(O) $(BLD_P)vmmvs$(O) # Header files HFILES= $(SRC_P)consts.h $(SRC_P)crypt.h $(SRC_P)ebcdic.h \ $(SRC_P)globals.h $(SRC_P)inflate.h \ $(SRC_P)ttyio.h $(SRC_P)unzip.h $(SRC_P)unzpriv.h \ $(SRC_P)unzvers.h $(SRC_P)zip.h $(CMSMVS_P)vmmvs.h \ $(CMSMVS_P)vmstat.h # Rules all: $(BLD_P)unzip.mvs$(E) hfs: $(BLD_P)unzip$(E) # link $(BLD_P)unzip.mvs$(E): $(OBJECTS) $(LD) -o "//INFOZIP.LOAD(UNZIP)" $(LDFLAGS) $^ echo "tso call \"infozip(unzip)\" \"'\"\"""$$""@""\"\"'\"" > $% chmod a+x $% $(BLD_P)unzip$(E): $(OBJECTS) $(LD) -o $% $(LDFLAGS) $^ # compile $(BLD_P)api$(O): $(SRC_P)api.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)api.c $(BLD_P)apihelp$(O): $(SRC_P)apihelp.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)apihelp.c $(BLD_P)crc32$(O): $(SRC_P)crc32.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)crc32.c $(BLD_P)crypt$(O): $(SRC_P)crypt.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)crypt.c $(BLD_P)envargs$(O): $(SRC_P)envargs.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)envargs.c $(BLD_P)explode$(O): $(SRC_P)explode.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)explode.c $(BLD_P)extract$(O): $(SRC_P)extract.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)extract.c $(BLD_P)fileio$(O): $(SRC_P)fileio.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)fileio.c $(BLD_P)funzip$(O): $(SRC_P)funzip.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)funzip.c $(BLD_P)globals$(O): $(SRC_P)globals.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)globals.c $(BLD_P)inflate$(O): $(SRC_P)inflate.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)inflate.c $(BLD_P)list$(O): $(SRC_P)list.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)list.c $(BLD_P)match$(O): $(SRC_P)match.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)match.c $(BLD_P)process$(O): $(SRC_P)process.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)process.c $(BLD_P)ttyio$(O): $(SRC_P)ttyio.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)ttyio.c $(BLD_P)unreduce$(O): $(SRC_P)unreduce.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)unreduce.c $(BLD_P)unshrink$(O): $(SRC_P)unshrink.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)unshrink.c $(BLD_P)unzip$(O): $(SRC_P)unzip.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)unzip.c $(BLD_P)unzipstb$(O): $(SRC_P)unzipstb.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)unzipstb.c $(BLD_P)zipinfo$(O): $(SRC_P)zipinfo.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(SRC_P)zipinfo.c $(BLD_P)vmmvs$(O): $(CMSMVS_P)vmmvs.c $(HFILES) $(CC) -c -o $% $(CFLAGS) $(CMSMVS_P)vmmvs.c