VERSION = 1.1

STRIP = echo
DEBUG = -g

OPTS = -O2

CFLAGS = $(DEBUG) $(OPTS) -Wall -DVERSION=\"$(VERSION)\" -D_GNU_SOURCE=1 -I /usr/include/rpm
LDFLAGS = $(DEBUG)

ARCH := $(patsubst i%86,i386,$(shell uname -m))
ifeq (alpha,$(ARCH))
ARCHOBJS2 = kernel.o kbd.o
ARCHOBJS1 = kbd.o
CFLAGS += -D_GNU_SOURCE
CRYPT=-lcrypt
else
ifeq (i386,$(ARCH))
ARCHOBJS2 = lilo.o smb.o kbd.o
ARCHOBJS1 = smb.o kbd.o
else
ARCHOBJS2 = lilo.o
endif
endif

OBJS = perror.o net.o log.o nfsmount.o mount_xdr.o windows.o devices.o \
       scsi.o fs.o run.o mkswap.o mono.o bootpc.o
OBJS1 = earlymethods.o install.o cdrom.o $(ARCHOBJS1)
OBJS2 = doit.o pkgs.o config.o hd.o latemethods.o install2.o ftp.o \
       upgrade.o hash.o mtab.o commands.o cdrom.o printercfg.o $(ARCHOBJS2)
PROGS = install install2 genhdlist dmphdlist

#---------------

INST1LIBS=-lnewt /usr/lib/libslang.a /usr/lib/libm.a

ifeq (i386,$(ARCH))
STATIC=-static
INST1LIBS+=/usr/lib/libz.a
INST2LIBS=/usr/lib/libnewt.a /usr/lib/libdb.a /usr/lib/libz.a /usr/lib/libslang.a /usr/lib/libm.a
else
ifeq (alpha,$(ARCH))
STATIC=
INST1LIBS+=/usr/lib/libz.a
INST2LIBS=-lnewt /usr/lib/libdb.a /usr/lib/libz.a /usr/lib/libslang.a /usr/lib/libm.a
endif
STATIC=
INST2LIBS=-lnewt /usr/lib/libdb.a /usr/lib/libz.a /usr/lib/libslang.a /usr/lib/libm.a
endif

SOURCES = $(subst .o,.c,$(OBJS2) $(OBJS1) $(OBJS))

ifeq (.depend,$(wildcard .depend))
TARGET=$(PROGS)
else
TARGET=depend $(PROGS)
endif

all: $(TARGET)

install: $(OBJS) $(OBJS1)
       gcc $(STATIC) $(LDFLAGS) -o install $^ $(INST1LIBS)
       $(STRIP) install

install2: $(OBJS) $(OBJS2) /usr/lib/librpm.a
       gcc $(LDFLAGS) -o install2 $^ $(INST2LIBS) $(CRYPT)
       $(STRIP) install2

ftp.o: ftp.c
       $(CC) $(CFLAGS) -DHAVE_CONFIG_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_NETINET_IN_SYSTM_H=1 -c $<

genhdlist: /usr/lib/librpm.a

dmphdlist: /usr/lib/librpm.a

clean:
       rm -f $(OBJS2) $(OBJS1) $(OBJS)

depend:
       $(CPP) $(CFLAGS) -M $(SOURCES) > .depend

co:
       co RCS/*,v

ifeq (.depend,$(wildcard .depend))
include .depend
endif