# TurboPkg Makefile

VERSION=5.3.2
VER_DATE=Oct 20 1998
CC= gcc
GLIBC=-DGLIBC -D_GNU_SOURCE
EGCS=1
ifdef INSTALLER
EGCS=
endif
#DEBUG= -ggdb
#STATIC= -static
DEBUG=
STATIC=
OPTIMIZE= -O2 -m386
ifdef EGCS
OPTIMIZE= -O6 -mpentium
endif
ifdef DEBUG
OPTIMIZE=
endif
SLANG= -lslang
OTHEROPTS= -DRPM25
CFLAGS= $(DEBUG) $(STATIC) -Wall $(OPTIMIZE) $(OTHEROPTS) $(GLIBC) -DVERSION=\"$(VERSION)\" \
        -DVER_DATE="\"$(VER_DATE)\""
ifdef INSTALLER
CFLAGS += -DINSTALLER
endif
ifndef INSTALLER
LFLAGS= $(STATIC) -lnewt $(SLANG) -lrpm -ldb -lz -lm
endif
LFLAGS2= $(STATIC) -lrpm -ldb -lz -lm
LFLAGS3= $(STATIC) -lrpm -ldb -lz -lm
ifndef GLIBC
LFLAGS2 += -lintl
LFLAGS3 += -lintl
endif
#ifdef DEBUG
#LFLAGS += -lefence
#endif
ifdef INSTALLER
ifdef GLIBC
LFLAGS= /usr/lib/librpm.a /usr/lib/libnewt.a /usr/lib/libslang.a \
        /usr/lib/libdb.a /usr/lib/libz.a -lresolv
endif
ifndef GLIBC
LFLAGS= /usr/lib/librpm.a /usr/lib/libnewt.a /usr/lib/libslang.a \
        /usr/lib/libdb.a /usr/lib/libz.a /usr/lib/libintl.a
endif
endif
STRIP= 1
ifdef DEBUG
STRIP= 0
endif
AUTOCONTROL_OBJS=autocontrol.o autocontrol_commands.o
ifdef INSTALLER
AUTOCONTROL_OBJS=
endif
OBJS1= turbopkg.o util.o installtypes.o parse_comps.o dumpinfo.o rpmfuncs.o menus.o pkginstall.o ftp.o setupfs.o $(AUTOCONTROL_OBJS) log.o autowin.o
ifdef INSTALLER
ifdef GLIBC
OBJS1 += dns.o
endif
endif
OBJS2= genhdlist.o
OBJS3= gencustomlist.o
SOURCES1= $(subst .o,.c,$(OBJS1))
SOURCES2= $(subst .o,.c,$(OBJS2))
SOURCES3= $(subst .o,.c,$(OBJS3))
SOURCES= $(SOURCES1) $(SOURCES2) $(SOURCES3)
HFILES= defines.h includes.h mycolors.h prototypes.h tlcomps.h autocontrol.h ftp-glibc.h
PROGS= turbopkg genhdlist gencustomlist
GETTEXT = xgettext --keyword --keyword=_ --keyword=__
TOPDIR=
INSTALLDIR=$(TOPDIR)/usr/lib/turbolinux/turbopkg/
LINKDIR=$(TOPDIR)/usr/sbin/
LINKTARGETDIR=../lib/turbolinux/turbopkg/
RCFILE=turbopkgrc
RCFILEDIR=$(TOPDIR)/etc/
MANPAGES=turbopkg.8 gencustomlist.8 genhdlist.8
MANDIR=$(TOPDIR)/usr/man/man8

XPKGSCRIPT=xturbopkg.pl
XPKGLINKNAME=xturbopkg
XPKGCONF=xturbopkg.conf*
XPKGHELP=xturbopkg.help*
XPKGINCLUDE=defines.ph
XPKGFILES=$(XPKGSCRIPT) $(XPKGCONF) $(XPKGHELP) $(XPKGINCLUDE) xturbopkg.xbm
TURBODESKDIR=$(TOPDIR)/usr/lib/turbodesk/
TURBODESKBITMAPSDIR=$(TURBODESKDIR)/bitmaps
TURBODESKHELPDIR=$(TURBODESKDIR)/help
XPKGSUBDIR=xturbopkg_dir/
XPKGDIR=$(TURBODESKDIR)$(XPKGSUBDIR)
OTHERDIST=text Makefile ChangeLog cxturbopkg.sh


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

all:	$(TARGET)
	if [ $(STRIP) = 1 ]; then strip $(PROGS); fi;

codesize:
	wc -l `/bin/ls -1 $(SOURCES) $(HFILES) | grep -v 'autowin'`

turbopkg:	$(OBJS1)
	$(CC) $(CFLAGS) -o turbopkg $(OBJS1) $(LFLAGS)

genhdlist:	$(OBJS2)
	$(CC) $(CFLAGS) -o genhdlist $(OBJS2) $(LFLAGS2)

gencustomlist:	$(OBJS3)
	$(CC) $(CFLAGS) -o gencustomlist $(OBJS3) $(LFLAGS3)

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

catalog:	$(SOURCES)
	$(GETTEXT) $^
	if [ -f text/messages.po ]; then tupdate messages.po text/messages.po > text/messages.po.new; else mv messages.po text/messages.po; fi;
	rm -f messages.po

xcatalog:	xturbopkg.pl
	plxgettext xturbopkg.pl
	if [ -f text/xmessages.po ]; then \
		tupdate messages.po text/xmessages.po > text/xmessages.po.new; \
	else \
		mv messages.po text/xmessages.po; \
	fi
	rm -f messages.po

text:	
	make -C text

install:
	mkdir -p $(INSTALLDIR) $(LINKDIR)
	install -m 0755 turbopkg $(INSTALLDIR)
	install -m 0755 cxturbopkg.sh $(LINKDIR)/cxturbopkg
	cp -av text $(INSTALLDIR)
	ln -sf $(LINKTARGETDIR)/turbopkg $(LINKDIR)/turbopkg
	install -m 0644 $(RCFILE) $(RCFILEDIR)
	install -m 0644 $(MANPAGES) $(MANDIR)
	mkdir -p $(XPKGDIR)
	install -m 0755 $(XPKGSCRIPT) $(XPKGDIR)
	install -m 0644 $(XPKGINCLUDE) $(XPKGDIR)
	install -m 0644 xturbopkg.xbm $(TURBODESKBITMAPSDIR)
	ln -sf $(XPKGSUBDIR)$(XPKGSCRIPT) $(TURBODESKDIR)$(XPKGSCRIPT)
	ln -sf $(XPKGSCRIPT) $(TURBODESKDIR)$(XPKGLINKNAME)
	chmod 644 $(XPKGCONF) $(XPKGHELP)
	cp -a $(XPKGCONF) $(TURBODESKDIR)
	cp -a $(XPKGHELP) $(TURBODESKHELPDIR)

sourcedist: 
	rm -rf turbopkg-source
	mkdir -p turbopkg-source
	cp $(SOURCES) turbopkg-source
	cp $(HFILES) autowin.h config.h ftp.h inet_aton.h log.h turbopkg-source
	cp $(RCFILE) turbopkg-source
	cp $(MANPAGES) turbopkg-source
	cp $(XPKGFILES) turbopkg-source
	cp -a $(OTHERDIST) turbopkg-source
	tar -czf sourcedist.tar.gz turbopkg-source
	rm -rf turbopkg-source

clean:
	rm -f *~*
	rm -f core
	rm -f *.o
	make -C text clean

spotless:	clean
	rm -f $(PROGS) .depend

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

