[go: up one dir, main page]

File: Makefile

package info (click to toggle)
linpopup 0.9.3.pre4-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 440 kB
  • ctags: 151
  • sloc: ansic: 2,102; sh: 197; makefile: 171
file content (166 lines) | stat: -rw-r--r-- 5,511 bytes parent folder | download
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/