SHELL=/bin/sh CC ?= gcc CFLAGS ?= -Wall -O2 -fno-strength-reduce #-g -pedantic GTK_CONFIG ?= gtk-config GTK_CFLAGS = `${GTK_CONFIG} --cflags` GTK_LIBS = `${GTK_CONFIG} --libs` LFLAGS = $(GTK_LIBS) -lXmu -lXt -lSM -lICE PROGNAME-STATIC = LinPopUp-static PROGNAME = LinPopUp PROGNAME_LNK = linpopup VERSION = 1.2.0 VERSION_DATE = 2000 PREFIX ?= /usr/local INSTALL_BINPATH = $(PREFIX)/bin INSTALL_MANPATH = $(PREFIX)/man DOC_DIR = $(PREFIX)/share/doc/$(PROGNAME) SHARE_DIR = $(PREFIX)/share/$(PROGNAME) DATA_DIR ?= /var/db/linpopup DATA_FILE = $(DATA_DIR)/messages.dat RPM_RELEASE = 1 RPM_BUILDPATH = /usr/src/redhat RPM_ICONNAME = linpopup.gif $(PROGNAME): version.o dialog.o main.o text.o menu.o toolbar.o io.o send.o \ recept.o custom.o string.o GTKmisc.o docs.o netscape_remote.o execute.o $(CC) $(CFLAGS) $? -o $(PROGNAME) $(GTK_CFLAGS) $(LFLAGS) install : @echo ${BSD_INSTALL_PROGRAM} $(PROGNAME) $(INSTALL_BINPATH) ${BSD_INSTALL_MAN} ../$(PROGNAME).1 $(INSTALL_MANPATH)/man1 ln -fs $(PROGNAME) $(INSTALL_BINPATH)/$(PROGNAME_LNK) ln -fs $(PROGNAME).1 $(INSTALL_MANPATH)/man1/$(PROGNAME_LNK).1 mkdir -p -m0755 $(DATA_DIR) mkdir -p -m0755 $(DOC_DIR) mkdir -p -m0755 $(SHARE_DIR) mkdir -p -m0755 $(SHARE_DIR)/pixmaps ${BSD_INSTALL_DATA} ../AUTHORS ../BUGS ../COPYING ../ChangeLog ../INSTALL \ ../MANUAL ../NEWS ../README ../TODO ../THANKS $(DOC_DIR) ${BSD_INSTALL_DATA} ../pixmaps/little_igloo.xpm $(SHARE_DIR)/pixmaps/ ${BSD_INSTALL_DATA} ../extra/gtkrc $(SHARE_DIR) @if ! test -f $(DATA_FILE); then \ echo "Creating $(DATA_FILE), and chmod it 0666.";\ touch $(DATA_FILE); \ chmod 0666 $(DATA_FILE);\ else :;fi; @echo @echo "======================================================================" @echo "= =" @echo "= To be able to receive messages that are sent to you, you have to =" @echo "= edit your smb.conf file (generally found in /etc directory) =" @echo "= =" @echo "= Please, refer to the INSTALL file for more details. =" @echo "= =" @echo "======================================================================" @echo uninstall : @echo rm -f $(INSTALL_BINPATH)/$(PROGNAME) rm -f $(INSTALL_MANPATH)/man1/$(PROGNAME).1 rm -f $(INSTALL_BINPATH)/$(PROGNAME_LNK) rm -f $(INSTALL_MANPATH)/man1/$(PROGNAME_LNK).1 rm -Rf $(DOC_DIR) rm -Rf $(SHARE_DIR) @echo @echo "======================================================" @echo "= =" @echo "= You may now remove by hand any .linpopuprc files =" @echo "= that resides in users home directories... =" @echo "= As well as the directory below : =" @echo "= $(DATA_DIR) =" @echo "= =" @echo "======================================================" @echo .c.o: $(CC) -c $(CFLAGS) -DDATA_FILE=\"$(DATA_FILE)\" -DDOC_DIR=\"$(DOC_DIR)\" -DSHARE_DIR=\"$(SHARE_DIR)\" $< $(GTK_CFLAGS) version.o: version.c version.h netscape_remote.o : ../lib/netscape_remote.c $(CC) -c $(C_FLAGS) $< $(GTK_CFLAGS) docs: @if test -x /usr/bin/pod2man; then \ touch ../extra/$(PROGNAME).pod;\ pod2man ../extra/$(PROGNAME).pod \ --center="$(PROGNAME) User's Manual" \ --release="$(PROGNAME) Version $(VERSION)" \ > ../extra/$(PROGNAME).1.in; \ fi; @sed -e s,THIS_DATA_FILE,$(DATA_FILE), \ -e s,THIS_DESTDIR,$(PREFIX), \ -e s,THIS_VERSION,$(VERSION), \ ../extra/$(PROGNAME).1.in > ../$(PROGNAME).1 @sed -e s,THIS_DESTDIR,$(PREFIX), ../extra/install.in > ../INSTALL @nroff -mandoc -Tlatin1 ../$(PROGNAME).1 | col -bx > ../MANUAL version.h : FORCE @echo "/* this header is automatically generated */" > version.h @echo "/* and recreated for each new compilation */" >> version.h @echo "#define PROG_NAME \"$(PROGNAME)\"" >> version.h @echo "#define PROG_AUTHOR \"`cat ../AUTHORS`\"">>version.h @echo "#define PROG_VERSION \"$(VERSION)\"" >> version.h @echo "#define VERSION_DATE \"$(VERSION_DATE)\"">> version.h @echo "#define COMPILE_DATE \"`date +%D`\"" >> version.h @echo "#define COMPILE_TIME \"`date +%T`\"" >> version.h @echo "#define COMPILE_BY \"`whoami`\"" >> version.h @echo "#define COMPILE_HOST \"`hostname`\"" >> version.h @echo "#define GTK_VERSION \"GTK+ `$GTK_CONFIG --version`\"" >> version.h @echo "#define CC_VERSION \"`$(CC) -v 2>&1 | tail -1`\"">>version.h @echo "#define CODE_LINES `cat *.c protos.h | grep -ch -e \"[[:alpha:]|[:punct:]]\"`">>version.h FORCE: clean: dist_clean rm -f $(PROGNAME) $(PROGNAME-STATIC) dist_clean: rm -f *~ *.o version.h core build/* ###### ONLY FOR BUILDING DISTRIBUTION USAGE ########## $(PROGNAME-STATIC): $(CC) $(CFLAGS) -v *.o -o $(PROGNAME-STATIC) $(GTK_CFLAGS) $(LFLAGS) -static strip $(PROGNAME-STATIC) dist: docs $(PROGNAME) $(PROGNAME-STATIC) dist_clean strip $(PROGNAME-STATIC) strip $(PROGNAME) mkdir $(PROGNAME)-$(VERSION) mkdir $(PROGNAME)-$(VERSION)/extra mkdir $(PROGNAME)-$(VERSION)/lib mkdir $(PROGNAME)-$(VERSION)/pixmaps mkdir $(PROGNAME)-$(VERSION)/src mkdir $(PROGNAME)-$(VERSION)/screenshots cp ../extra/* $(PROGNAME)-$(VERSION)/extra cp ../screenshots/* $(PROGNAME)-$(VERSION)/screenshots cp ../lib/*.* $(PROGNAME)-$(VERSION)/lib cp pixmaps/*.* $(PROGNAME)-$(VERSION)/pixmaps cp *.c *.h Makefile $(PROGNAME)-$(VERSION)/src cp ../AUTHORS ../THANKS ../BUGS ../INSTALL ../NEWS ../TODO ../COPYING ../README ../MANUAL ../ChangeLog \ ../LinPopUp.1 ../*.lsm ../scripts/* $(PROGNAME)-$(VERSION) ln -fs ../pixmaps $(PROGNAME)-$(VERSION)/src/pixmaps tar cvf $(PROGNAME)-$(VERSION).src.tar $(PROGNAME)-$(VERSION) gzip -9 $(PROGNAME)-$(VERSION).src.tar mv $(PROGNAME)-$(VERSION).src.tar.gz build/ rm -Rf $(PROGNAME)-$(VERSION)/src rm -Rf $(PROGNAME)-$(VERSION)/lib rm -f $(PROGNAME)-$(VERSION)/pixmaps/*.xpm cp pixmaps/little_igloo.xpm $(PROGNAME)-$(VERSION)/pixmaps rm -f $(PROGNAME)-$(VERSION)/Make mkdir $(PROGNAME)-$(VERSION)/bin cp $(PROGNAME-STATIC) $(PROGNAME)-$(VERSION)/bin/$(PROGNAME) cp Makefile $(PROGNAME)-$(VERSION)/bin/ tar cvf $(PROGNAME)-$(VERSION).bin.tar $(PROGNAME)-$(VERSION) gzip -9 $(PROGNAME)-$(VERSION).bin.tar mv $(PROGNAME)-$(VERSION).bin.tar.gz build/ cp ../$(PROGNAME).lsm build/ rm -Rf $(PROGNAME)-$(VERSION) du -k build/* rpm: sed -e s,THIS_VERSION,$(VERSION), \ -e s,THIS_RPM_RELEASE,$(RPM_RELEASE), \ -e s,THIS_DATA_FILE,$(DATA_FILE), \ -e s,THIS_DATA_DIR,$(DATA_DIR), \ -e s,THIS_SHARE_DIR,$(SHARE_DIR), \ ../extra/$(PROGNAME).spec > $(RPM_BUILDPATH)/SPECS/$(PROGNAME)-$(VERSION).spec cp -f build/$(PROGNAME)-$(VERSION).src.tar.gz $(RPM_BUILDPATH)/SOURCES cp -f ../extra/$(RPM_ICONNAME) $(RPM_BUILDPATH)/SOURCES rpm -ba --clean $(RPM_BUILDPATH)/SPECS/$(PROGNAME)-$(VERSION).spec mv $(RPM_BUILDPATH)/RPMS/i386/$(PROGNAME)-$(VERSION)-$(RPM_RELEASE)* build/ mv $(RPM_BUILDPATH)/SRPMS/$(PROGNAME)-$(VERSION)-$(RPM_RELEASE)* build/ all-dist: dist rpm