gecko-dev/cmd/xfe/icons/Makefile.in
1998-10-23 20:35:24 +00:00

198 lines
5.6 KiB
Makefile

#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/cmd/unixfe/config/unixfe.mk
MODULE = xfeicons
LIBRARY_NAME = xfeicons
EXPORTS = $(srcdir)/icondata.h
REQUIRES = img java jtools layer nspr util xp xpcom \
$(XFE_JPEG_REQUIRES) $(XFE_PNG_REQUIRES) $(XFE_ZLIB_REQUIRES)
LOCAL_INCLUDES = -I$(srcdir)/. -I$(OBJDIR)
ICONS_GEN_HDR = $(OBJDIR)/icon_extern.h
ICONS_GEN_SRC = $(OBJDIR)/icondata.c
ICONLIST = $(OBJDIR)/icon.list
ICONANIMLIST = $(OBJDIR)/iconanim.list
MKICONS_EXE = $(OBJDIR)/mkicons
GARBAGE += $(MKICONS_EXE) \
$(ICONS_GEN_HDR) \
$(ICONS_GEN_HDR).tmp \
$(ICONS_GEN_SRC) \
$(ICONLIST) \
$(ICONANIMLIST)
include $(topsrcdir)/config/rules.mk
OBJS = $(ICONS_GEN_SRC:.c=.o)
# See comment in icondata.c for why this is necessary.
DEFINES += -DXFE
# Split the icons by portion of the product.
# Be careful to avoid hitting max line length on Irix,
# therefore, split the icon list among several variables.
ICONS = $(wildcard $(srcdir)/images/[AGIHL]*.gif $(srcdir)/images/BM*.gif $(srcdir)/images/DTB*.gif)
ICONS += $(wildcard $(srcdir)/images/Dash*.gif $(srcdir)/images/TB*.gif)
ICONS += $(addprefix $(srcdir)/, \
images/Desk_AdminKit.gif \
images/Desk_Bookmark.gif \
images/Desk_Calendar.gif \
images/Desk_Communicator.gif \
images/Desk_Conference.gif \
images/Desk_History.gif \
images/Desk_Navigator.gif \
images/Desk_Search.gif \
images/SEC_Replace.gif \
images/Splash.gif \
images/cparent.gif )
# Icons for the Outliner
ICONS += $(wildcard $(srcdir)/images/hidecolumn*.gif $(srcdir)/images/showcolumn*.gif) \
$(srcdir)/images/oparent.gif
# Icons referenced in rosetta.h
ICONS += $(wildcard $(srcdir)/images/M_*.gif)
MAIL_OR_COMPOSE_ICONS = $(wildcard $(srcdir)/images/MNC*.gif $(srcdir)/images/MNTB_Next*.gif \
$(srcdir)/images/MNTB_Forward*.gif $(srcdir)/images/MNAB_NewPerson*.gif \
$(srcdir)/images/MN_Draft*.gif $(srcdir)/images/MN_Collect*.gif \
$(srcdir)/images/MN_Template*.gif) \
$(addprefix $(srcdir)/, \
images/MN_MailAttach.gif \
images/MN_Person.gif \
images/MN_People.gif )
ifdef MOZ_MAIL_NEWS
ICONS += $(MAIL_OR_COMPOSE_ICONS) \
$(wildcard $(srcdir)/images/MNTB*.gif $(srcdir)/images/MNAB*.gif $(srcdir)/images/MN_*.gif) \
$(addprefix $(srcdir)/, \
images/threadoff.gif \
images/threadon.gif \
images/Desk_Address.gif \
images/Desk_Collabra.gif \
images/Desk_Messenger.gif \
images/Desk_MsgCenter.gif \
images/Desk_NewMail.gif )
endif
ifdef MOZ_MAIL_COMPOSE
ifndef MOZ_MAIL_NEWS
ICONS += $(MAIL_OR_COMPOSE_ICONS)
endif
ICONS += $(srcdir)/images/Desk_MsgCompose.gif
endif
ifdef MOZ_EDITOR
ICONS += $(wildcard $(srcdir)/images/e*.gif $(srcdir)/images/Desk_Composer.gif)
endif
ifdef MOZ_TASKBAR
ICONS += $(wildcard $(srcdir)/images/Task*.gif)
endif
ifdef MOZ_NETCAST
ICONS += $(srcdir)/images/Desk_Netcaster.gif
endif
ifdef NETSCAPE_COMMERCIAL
ANIM = $(wildcard $(XFEPRIVDIR)/icons/anim/main/*.gif)
else
ANIM = $(wildcard $(srcdir)/anim/main/*.gif)
endif
ifdef JAVA_OR_NSJVM
JAVA_JMC = $(DIST)/lib/libjmc.a # XXX To be removed...
else
JAVA_JMC = $(DIST)/lib/libstubsj.a
endif
MKICONS_LIB = \
$(DIST)/lib/libimg.a \
$(JAVA_JMC) \
$(DIST)/lib/libutil.a \
$(DIST)/lib/libxp.a \
$(DIST)/lib/libxpcom.a \
$(XFE_MKICONS_PNG_LIB) \
$(XFE_MKICONS_ZLIB_LIB) \
$(XFE_MKICONS_JPEG_LIB) \
$(NULL)
MKICONS_DSOS = \
$(XFE_MKICONS_JPEG_DSO) \
$(XFE_MKICONS_PNG_DSO) \
$(XFE_MKICONS_ZLIB_DSO) \
$(NULL)
GARBAGE += $(MKICONS_EXE) \
$(wildcard $(ICONS_GEN_HDR)*) \
$(wildcard $(ICONS_GEN_SRC)*) \
$(ICONLIST) \
$(ICONANIMLIST)
MKICONS_EXTRA = $(MKICONS_DSOS) $(NSPR_LIBS) $(OS_LIBS) -lm
#######################################################################
# Rules to build mkicons program and then icondata.c
# XXX We need to reach into the Image Library modules's source directory to
# get the file if.h
$(MKICONS_EXE): mkicons.cpp $(MKICONS_LIB)
$(CCC) $(CFLAGS) -o $@ -I$(topsrcdir)/modules/libimg/src $< $(XFE_MKICONS_BIN_LDPATH) $(MKICONS_LIB) $(MKICONS_EXTRA)
$(ICONLIST): $(ICONS)
@echo Adding icons to $@
@$(MAKE_OBJDIR)
@rm -f $@
@ls $(ICONS) > $@
$(ICONANIMLIST): $(ICONLIST) $(ANIM)
@echo Adding icons and animations to $(ICONANIMLIST)
@rm -f $(ICONANIMLIST)
@cat $(ICONLIST) > $(ICONANIMLIST)
ifneq ($(ANIM),)
@ls $(ANIM) >> $(ICONANIMLIST)
endif
$(ICONS_GEN_HDR): $(ICONLIST)
@rm -f $@.tmp
@sed 's/.*\/images\/\(.*\)\.gif.*/extern struct fe_icon_data \1;/; y/./_/;' $(ICONLIST) > $@.tmp
@if test ! -f $@; then touch $@; else true; fi
@if test ! -z "`diff $@.tmp $@`"; then rm -f $@; mv $@.tmp $@; else true; fi
$(ICONS_GEN_SRC): icondata.h $(ICONANIMLIST) $(MKICONS_EXE) $(ICONS_GEN_HDR)
@rm -f $@
$(MKICONS_EXE) -no-xfe-define - < $(ICONANIMLIST) > $@
$(LIBRARY): $(OBJS)
export:: $(ICONS_GEN_HDR) $(DIST)/include
$(INSTALL) -m 444 $^