1
2@MAKEFILEDEFINES@
3
4confsdirs= autoconf libAfterBase libAfterImage
5
6####
7
8libdirs         = libAfterBase libAfterImage libAfterStep libAfterConf @LIBASGTKDIR@
9
10gtk_app_dirs    = src/tools/ASFileBrowser src/tools/ASWallpaper
11no_gtk_app_dirs =
12
13giolib_app_dirs    = src/ASMount
14no_giolib_app_dirs =
15
16desktop_subdirs = $(SYSSHAREDIR)/applications $(SHAREDIR)/applications
17session_subdirs = $(SYSCONFDIR)/X11/sessions $(SYSSHAREDIR)/xsessions $(SHAREDIR)/xsessions
18gnome_session_subdirs = $(SYSSHAREDIR)/gnome-session/sessions $(SHAREDIR)/gnome-session/sessions
19
20subdirs         = libAfterBase libAfterImage libAfterStep libAfterConf @LIBASGTKDIR@ \
21                  src/afterstep \
22                  src/Animate \
23                  src/Arrange \
24                  src/Banner \
25                  src/Ident \
26                  src/Pager \
27                  src/Wharf \
28                  src/WinCommand \
29                  src/WinList2 \
30                  src/WinTabs \
31                  src/ascp  \
32									src/tools/ASRun \
33                  afterstep \
34                  src/ASDocGen \
35                  $(@GIOLIB_APP_DIRS@) \
36                  $(@GTK_APP_DIRS@) \
37                  doc tools
38
39RECURSIVE_TARGETS = all libs install install.bin install.lib install.man install.script install.data uninstall clean distclean indent deps
40
41all: AfterStep.desktop.final AfterStep.desktop.session
42libs: AfterStep.desktop.final AfterStep.desktop.session
43install: install.wmprops install.desktop mkdir
44install.bin: mkdir.bin
45install.lib: mkdir.lib
46install.man: mkdir.man
47install.script: mkdir.bin
48clean: clean-local
49distclean: distclean-local
50indent: indent-local
51deps: deps-local
52
53clean-local:
54	$(RMF) AfterStep.desktop.final AfterStep.desktop.session
55
56distclean-local:
57	$(RMF) config.cache config.log config.status Makefile.bak Makefile config.h configure.h *.o *~ *% *.bak \#* core
58
59indent-local:
60	@cd include; \
61	for i in *.h; do \
62	  if (indent < $$i > /tmp/$$i); then \
63	    echo indent $$i; \
64	    mv /tmp/$$i $$i; \
65	  fi; \
66	done
67
68deps-local:
69	@for I in ${subdirs}; do if [ -d $$I ]; then touch $$I/.depend || exit 1; fi; done
70
71install.wmprops:
72	@if [ -d $(SHAREDIR)/gnome/wm-properties ] ; then \
73        if [ -w $(SHAREDIR)/gnome/wm-properties ] ; then \
74        echo $(CP) AfterStep.desktop $(SHAREDIR)/gnome/wm-properties/; \
75        $(CP) AfterStep.desktop $(SHAREDIR)/gnome/wm-properties/; \
76        else \
77        echo "$(SHAREDIR)/gnome/wm-properties exists but is not writable."; \
78        echo "If you want AfterStep to appear in your Gnome menu, please install as root."; \
79        fi \
80        fi
81	@if [ -d $(GNOME_SHAREDIR)/wm-properties ] ; then \
82        if [ -w $(GNOME_SHAREDIR)/wm-properties ] ; then \
83         echo $(CP) AfterStep.desktop $(GNOME_SHAREDESTDIR)/wm-properties/; \
84         $(MKDIR) -p $(GNOME_SHAREDESTDIR)/wm-properties; \
85         $(CP) AfterStep.desktop $(GNOME_SHAREDESTDIR)/wm-properties/; \
86        else \
87        echo "$(GNOME_SHAREDIR)/wm-properties exists but is not writable."; \
88        echo "If you want AfterStep to appear in your Gnome menu, please install as root."; \
89        fi \
90        fi
91
92$(RECURSIVE_TARGETS):
93	@fail= failcom='exit 1'; \
94	for f in x $$MAKEFLAGS; do \
95		case $$f in \
96			*=* | --[!k]*) ;; \
97			*k*) failcom='fail=yes' ;; \
98		esac; \
99	done; \
100	for I in ${subdirs}; do \
101		(cd $$I; ${MAKE} $@) || eval $$failcom; \
102	done; \
103	test -z "$$fail"
104
105AfterStep.desktop.final:
106	@$(CP) AfterStep.desktop AfterStep.desktop.final; \
107		echo "NoDisplay=true" >> AfterStep.desktop.final ; \
108		echo "Exec=$(AFTER_BIN_DIR)/afterstep" >> AfterStep.desktop.final ; \
109		echo "TryExec=$(AFTER_BIN_DIR)/afterstep" >> AfterStep.desktop.final ; \
110		echo "Icon=$(AFTER_SHAREDIR)/desktop/icons/large/AfterStep3" >> AfterStep.desktop.final
111
112AfterStep.desktop.session:
113	@if test "x$(AFTER_EXEC_COMMAND)" != "x"; then \
114			$(CP) AfterStep.desktop AfterStep.desktop.session; \
115			echo "Exec=$(AFTER_EXEC_COMMAND)" >> AfterStep.desktop.session ; \
116			echo "TryExec=$(AFTER_BIN_DIR)/afterstep" >> AfterStep.desktop.session ; \
117		fi;
118
119
120mkdir:  mkdir.bin mkdir.lib mkdir.man mkdir.share
121
122mkdir.bin:
123	@$(MKDIR) -p $(AFTER_BIN_DIR);
124
125mkdir.lib:
126	@$(MKDIR) -p $(LIBDIR);
127
128mkdir.man:
129	@$(MKDIR) -p $(AFTER_MAN_DIR); $(MKDIR) -p $(AFTER_MAN_API_DIR);
130
131mkdir.share:
132	@$(MKDIR) -p $(SHAREDIR); \
133         $(MKDIR) -p $(AFTER_SHAREDIR)
134
135module.clean:
136
137install.desktop: AfterStep.desktop.final AfterStep.desktop.session mkdir.share
138	@for I in ${desktop_subdirs}; do \
139		if [ -d $$I ] && [ -w $$I ] ; then \
140			echo "installing AfterStep.desktop $$I" ; \
141      $(INSTALL_DATA)  AfterStep.desktop.final $$I/AfterStep.desktop ; \
142    fi; done; \
143		for I in ${session_subdirs}; do \
144		if [ -d $$I ] && [ -w $$I ] ; then \
145			echo "installing session AfterStep.desktop $$I" ; \
146      $(INSTALL_DATA)  AfterStep.desktop.session $$I/AfterStep.desktop ; \
147    fi; done; \
148		for I in ${gnome_session_subdirs}; do \
149			if [ -d $$I ] && [ -w $$I ] ; then \
150      echo "installing AfterStep.session into $$I" ; \
151      $(INSTALL_DATA)  AfterStep.session $$I/AfterStep.session ; \
152  	fi; done;
153
154#    else if [ -d $(SHAREDIR) ] && [ -w $(SHAREDIR) ] ; then \
155#      echo "mkdir $(SHAREDIR)/xsessions"; $(MKDIR) -p $(SHAREDIR)/xsessions; \
156#      echo "installing AfterStep.desktop into $(SHAREDIR)/xsessions/" ; $(INSTALL_DATA)  AfterStep.desktop.final $(SHAREDIR)/xsessions/AfterStep.desktop ; \
157#    fi;
158
159
160install.share:
161	@cd afterstep && ${MAKE} install
162
163install.data_html:
164	@cd src/ASDocGen && ${MAKE} install.data_html
165
166install.menu:
167	@cd afterstep && ${MAKE} install.menu
168
169install.config:
170	@cd afterstep && ${MAKE} install.config
171
172
173config:
174	@for I in ${confsdirs}; do \
175          (cd $$I ;  autoconf configure.in > configure ; chmod 755 configure); \
176        done; \
177        cd autoconf ; \
178        autoconf configure.libs.in > configure.libs; chmod 755 configure.libs ; \
179        $(MV) configure.libs ../ ; \
180        $(MV) configure ../ ; \
181        cd ..
182
183configclean:
184	$(RMF) ./config.status ./config.log ./include/config.h ./config.cache ./configure.h ; \
185        for I in ${confsdirs}; do \
186          $(RMF) $$I/config.status $$I/config.log $$I/config.h $$I/config.cache $$I/configure.h ; \
187        done; \
188
189ChangeLog:
190#	tools/cvs2cl.as.pl --hide-filenames --no-times
191#	@(cd libAfterBase ; ../tools/cvs2cl.as.pl --hide-filenames --no-times); \
192#        (cd libAfterImage ; ../tools/cvs2cl.as.pl --hide-filenames --no-times)
193	tools/git-cl.sh .; \
194	tools/git-cl.sh libAfterBase ; \
195	tools/git-cl.sh libAfterImage
196
197