Fix parallel build, don't strip binaries, respect CC LDFLAGS, fix install dirs Fix incompatible implicit declaration of built-in function {strlen,memset,strcpy} http://bugs.gentoo.org/show_bug.cgi?id=248680 http://bugs.gentoo.org/show_bug.cgi?id=299918 --- a/Makefile.in +++ b/Makefile.in @@ -14,7 +14,7 @@ exec_prefix = @exec_prefix@ bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib -mandir = $(prefix)/man +mandir = $(prefix)/share/man INSTALL = @INSTALL@ LN_S = @LN_S@ RM = -rm -f @@ -45,13 +45,19 @@ AMIWM_HOME = $(libdir)/amiwm +.PHONY: yaccs all clean lib_all lexs + +.SUFFIXES: .c + all : lib_all @$(MAKE) local_all local_all : $(PROGS) $(MODULES) +$(OBJS): lexs + lib_all : - @( cd libami; $(MAKE) all ) + @$(MAKE) -C libami all .c.o: $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< @@ -71,83 +77,75 @@ ppmtoinfo.o : ppmtoinfo.c $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -DAMIWM_HOME=\"$(AMIWM_HOME)\" $< -gram.h gram.c: gram.y - $(YACC) $(YFLAGS) $< - mv y.tab.c gram.c - mv y.tab.h gram.h +yaccs: gram.c kbdmodule.c +lexs: yaccs lex.c kbdlexer.c + +%.c: %.y + $(YACC) $(YFLAGS) $< -o $@ -lex.c : lex.l - $(LEX) -t $< > lex.c -kbdmodule.h kbdmodule.c: kbdmodule.y - $(YACC) $(YFLAGS) $< - mv y.tab.c kbdmodule.c - mv y.tab.h kbdmodule.h +lex.c : lex.l + $(LEX) -t $< > lex.c kbdlexer.c : kbdlexer.l $(LEX) -t $< > kbdlexer.c -install : $(PROGS) $(MODULES) Xsession Xsession2 Xinitrc amiwm-init - -mkdir -p $(AMIWM_HOME) - $(INSTALL) $(STRIPFLAG) requestchoice $(AMIWM_HOME)/requestchoice - $(INSTALL) $(STRIPFLAG) executecmd $(AMIWM_HOME)/executecmd +install : Xsession Xsession2 Xinitrc amiwm-init + $(INSTALL) -D requestchoice $(DESTDIR)$(AMIWM_HOME)/requestchoice + $(INSTALL) executecmd $(DESTDIR)$(AMIWM_HOME)/executecmd for module in $(MODULES); do \ if [ "$$module" = "$(srcdir)/Background" ]; then \ - $(INSTALL) $$module $(AMIWM_HOME)/Background; \ + $(INSTALL) $$module $(DESTDIR)$(AMIWM_HOME)/Background; \ else \ - $(INSTALL) $(STRIPFLAG) $$module $(AMIWM_HOME)/$$module; \ + $(INSTALL) $(STRIPFLAG) $$module $(DESTDIR)$(AMIWM_HOME)/$$module; \ fi; \ done - $(INSTALL) -m 644 $(srcdir)/system.amiwmrc $(AMIWM_HOME)/system.amiwmrc - $(INSTALL) -m 644 $(srcdir)/def_tool.info $(AMIWM_HOME)/def_tool.info - $(INSTALL) -m 644 $(srcdir)/system.map $(AMIWM_HOME)/system.map - $(INSTALL) -m 644 $(srcdir)/magicwb.map $(AMIWM_HOME)/magicwb.map - $(INSTALL) -m 644 $(srcdir)/schwartz.map $(AMIWM_HOME)/schwartz.map - $(INSTALL) -m 755 Xsession $(AMIWM_HOME)/Xsession - $(INSTALL) -m 755 Xsession2 $(AMIWM_HOME)/Xsession2 - $(INSTALL) -m 755 Xinitrc $(AMIWM_HOME)/Xinitrc - $(INSTALL) -m 755 $(srcdir)/amiwm-init $(AMIWM_HOME)/amiwm-init - -mkdir -p $(bindir) - $(INSTALL) $(STRIPFLAG) amiwm $(bindir)/amiwm - $(INSTALL) $(STRIPFLAG) ppmtoinfo $(bindir)/ppmtoinfo - $(RM) $(bindir)/requestchoice - $(LN_S) $(AMIWM_HOME)/requestchoice $(bindir)/requestchoice - -mkdir -p $(mandir)/man1 - $(INSTALL) -m 644 $(srcdir)/amiwm.1 $(mandir)/man1/amiwm.1 + $(INSTALL) -m 644 $(srcdir)/system.amiwmrc $(DESTDIR)$(AMIWM_HOME)/system.amiwmrc + $(INSTALL) -m 644 $(srcdir)/def_tool.info $(DESTDIR)$(AMIWM_HOME)/def_tool.info + $(INSTALL) -m 644 $(srcdir)/system.map $(DESTDIR)$(AMIWM_HOME)/system.map + $(INSTALL) -m 644 $(srcdir)/magicwb.map $(DESTDIR)$(AMIWM_HOME)/magicwb.map + $(INSTALL) -m 644 $(srcdir)/schwartz.map $(DESTDIR)$(AMIWM_HOME)/schwartz.map + $(INSTALL) -m 755 Xsession $(DESTDIR)$(AMIWM_HOME)/Xsession + $(INSTALL) -m 755 Xsession2 $(DESTDIR)$(AMIWM_HOME)/Xsession2 + $(INSTALL) -m 755 Xinitrc $(DESTDIR)$(AMIWM_HOME)/Xinitrc + $(INSTALL) -m 755 $(srcdir)/amiwm-init $(DESTDIR)$(AMIWM_HOME)/amiwm-init + $(INSTALL) -D amiwm $(DESTDIR)$(bindir)/amiwm + $(INSTALL) ppmtoinfo $(DESTDIR)$(bindir)/ppmtoinfo + $(RM) $(DESTDIR)$(bindir)/requestchoice + $(LN_S) $(DESTDIR)$(AMIWM_HOME)/requestchoice $(DESTDIR)$(bindir)/requestchoice + $(INSTALL) -D -m 644 $(srcdir)/amiwm.1 $(DESTDIR)$(mandir)/man1/amiwm.1 fs-install : Filesystem - $(INSTALL) $(STRIPFLAG) Filesystem $(AMIWM_HOME)/Filesystem - $(INSTALL) -m 644 def_disk.info $(AMIWM_HOME)/def_disk.info - $(INSTALL) -m 644 def_drawer.info $(AMIWM_HOME)/def_disk.info + $(INSTALL) Filesystem $(DESTDIR)$(AMIWM_HOME)/Filesystem + $(INSTALL) -m 644 def_disk.info $(DESTDIR)$(AMIWM_HOME)/def_disk.info + $(INSTALL) -m 644 def_drawer.info $(DESTDIR)$(AMIWM_HOME)/def_disk.info cde-install : Xresources.amiwm Amilogo.bm Amilogo.pm - -mkdir -p $(DT_DIR)/config/C/Xresources.d - $(INSTALL) -m 644 Xresources.amiwm $(DT_DIR)/config/C/Xresources.d/Xresources.amiwm - -mkdir -p $(DT_DIR)/appconfig/icons/C - $(INSTALL) -m 644 Amilogo.bm $(DT_DIR)/appconfig/icons/C/Amilogo.bm + $(INSTALL) -D -m 644 Xresources.amiwm $(DESTDIR)$(DT_DIR)/config/C/Xresources.d/Xresources.amiwm + $(INSTALL) -D -m 644 Amilogo.bm $(DESTDIR)$(DT_DIR)/appconfig/icons/C/Amilogo.bm $(INSTALL) -m 644 Amilogo.pm $(DT_DIR)/appconfig/icons/C/Amilogo.pm amiwm : $(OBJS) $(LIBAMI) - $(CC) -o amiwm $(OBJS) $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o amiwm $(OBJS) $(LIBS) requestchoice : requestchoice.o $(LIBAMI) - $(CC) -o requestchoice requestchoice.o $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o requestchoice requestchoice.o $(LIBS) executecmd : executecmd.o $(LIBAMI) - $(CC) -o executecmd executecmd.o $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o executecmd executecmd.o $(LIBS) Filesystem : filesystem.o $(LIBAMI) - $(CC) -o Filesystem filesystem.o $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o Filesystem filesystem.o $(LIBS) Keyboard : kbdmodule.o kbdlexer.o $(LIBAMI) - $(CC) -o Keyboard kbdmodule.o kbdlexer.o $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o Keyboard kbdmodule.o kbdlexer.o $(LIBS) ppmtoinfo : ppmtoinfo.o - $(CC) -o ppmtoinfo ppmtoinfo.o -lm + $(CC) $(CFLAGS) $(LDFLAGS) -o ppmtoinfo ppmtoinfo.o -lm localetest : localetest.o $(LIBAMI) - $(CC) -o localetest localetest.o $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o localetest localetest.o $(LIBS) clean : $(RM) core $(PROGS) $(LIBAMI) Keyboard *.o libami/*.o