1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
SHELL=/bin/sh
CC = gcc
CFLAGS = -Wall -O2 -fno-strength-reduce #-pedantic
GTK_CFLAGS = `gtk-config --cflags`
GTK_LIBS = `gtk-config --libs`
PROGNAME-STATIC = LinPopUp-static
DESTDIR = /usr/local
INSTALL_BINPATH = $(DESTDIR)/bin
INSTALL_MANPATH = $(DESTDIR)/man
PROGNAME = LinPopUp
PROGNAME_LNK = linpopup
VERSION = 0.9.4p
VERSION_DATE = 1998
DATA_FILE = /var/lib/linpopup/messages.dat
DATA_DIR = $(dir $(DATA_FILE))
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
$(CC) $(CFLAGS) -v $^ -o $(PROGNAME) $(GTK_CFLAGS) $(GTK_LIBS)
install :
/usr/bin/install -s -m755 $(PROGNAME) $(INSTALL_BINPATH)
/usr/bin/install -m644 $(PROGNAME).1 $(INSTALL_MANPATH)/man1
ln -fs $(PROGNAME) $(INSTALL_BINPATH)/$(PROGNAME_LNK)
ln -fs $(PROGNAME).1 $(INSTALL_MANPATH)/man1/$(PROGNAME_LNK).1
@if ! test -e $(DATA_DIR); then \
echo "Making $(DATA_DIR) directory..."; mkdir -m0755 $(DATA_DIR); \
else :; fi;
@if ! test -f $(DATA_FILE); then \
echo "Creating $(DATA_FILE),"; echo " chmod it 0666, and chgrp it nobody...";\
cat /dev/null > $(DATA_FILE); \
chmod 0666 $(DATA_FILE); chgrp nogroup $(DATA_FILE);\
else :;fi;
uninstall :
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
@echo "---"
@echo "You may now remove by hand any .linpopuprc files"
@echo "that resides in users home directories..."
@echo
.c.o:
$(CC) -c $(CFLAGS) -DDATA_FILE=\"$(DATA_FILE)\" $< $(GTK_CFLAGS)
dialog.o: dialog.c readme_doc.h manual_doc.h faq_doc.h changes_doc.h \
copying_doc.h
version.o: version.c version.h
manual_doc.h: $(PROGNAME).1 distrib/mkhelp
@man -l ./$(PROGNAME).1 | col -bx > MANUAL
@distrib/mkhelp MANUAL manual_doc.h
@rm -f MANUAL
readme_doc.h: README distrib/mkhelp
@distrib/mkhelp README readme_doc.h
faq_doc.h: FAQ distrib/mkhelp
@distrib/mkhelp FAQ faq_doc.h
changes_doc.h: CHANGES distrib/mkhelp
@distrib/mkhelp CHANGES changes_doc.h
copying_doc.h: COPYING distrib/mkhelp
@distrib/mkhelp COPYING copying_doc.h
distrib/mkhelp: distrib/mkhelp.c
$(CC) $(CFLAGS) distrib/mkhelp.c -o distrib/mkhelp
doc:
@if test -x /usr/bin/pod2man; then \
pod2man distrib/$(PROGNAME).pod \
--center="$(PROGNAME) User's Manual" \
--release="$(PROGNAME) Version $(VERSION)" \
> distrib/$(PROGNAME).1.in; \
fi;
@sed -e s,THIS_DATA_FILE,$(DATA_FILE), \
-e s,THIS_DESTDIR,$(DESTDIR), \
-e s,THIS_VERSION,$(VERSION), \
distrib/$(PROGNAME).1.in > $(PROGNAME).1
@sed -e s,THIS_DESTDIR,$(DESTDIR), distrib/install.in > INSTALL
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
FORCE:
clean: dist_clean
rm -f $(PROGNAME) $(PROGNAME-STATIC)
dist_clean:
rm -f *~ *.o *_doc.* version.h core build/* distrib/mkhelp
rm -f distrib/LinPopup.1.in
###### ONLY FOR BUILDING DISTRIBUTION USAGE ##########
$(PROGNAME-STATIC):
$(CC) $(CFLAGS) -v *.o -o $(PROGNAME-STATIC) $(GTK_CFLAGS) $(GTK_LIBS) -static
strip $(PROGNAME-STATIC)
dist: doc $(PROGNAME) $(PROGNAME-STATIC) dist_clean
mkdir $(PROGNAME)-$(VERSION)
mkdir $(PROGNAME)-$(VERSION)/pixmaps
mkdir $(PROGNAME)-$(VERSION)/distrib
cp pixmaps/*.* $(PROGNAME)-$(VERSION)/pixmaps
cp distrib/*.* $(PROGNAME)-$(VERSION)/distrib
cp *.c *.h *.1 *.lsm\
AUTHORS THANKS BUGS CHANGES COPYING FAQ INSTALL NEWS README \
TODO VENDORS Makefile $(PROGNAME)-$(VERSION)
tar cvf $(PROGNAME)-$(VERSION).src.tar $(PROGNAME)-$(VERSION)
gzip $(PROGNAME)-$(VERSION).src.tar
mv $(PROGNAME)-$(VERSION).src.tar.gz build/$(PROGNAME)-$(VERSION).src.tgz
rm -f $(PROGNAME)-$(VERSION)/*.c $(PROGNAME)-$(VERSION)/*.h
rm -Rf $(PROGNAME)-$(VERSION)/pixmaps $(PROGNAME)-$(VERSION)/distrib
cp $(PROGNAME-STATIC) $(PROGNAME)-$(VERSION)/$(PROGNAME)
tar cvf $(PROGNAME)-$(VERSION).bin.tar $(PROGNAME)-$(VERSION)
gzip -9 $(PROGNAME)-$(VERSION).bin.tar
mv $(PROGNAME)-$(VERSION).bin.tar.gz build/$(PROGNAME)-$(VERSION).bin.tgz
cp $(PROGNAME).lsm build/
rm -Rf $(PROGNAME)-$(VERSION)
du -k build/*.tgz
rpm: dist
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), \
distrib/$(PROGNAME).spec > $(RPM_BUILDPATH)/SPECS/$(PROGNAME)-$(VERSION).spec
cp -f build/$(PROGNAME)-$(VERSION).src.tgz $(RPM_BUILDPATH)/SOURCES
cp -f distrib/$(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/
|