mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 14:15:30 +00:00
135 lines
3.5 KiB
Makefile
135 lines
3.5 KiB
Makefile
# -*- Mode: 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
|
|
|
|
HSRCS = pathsub.h
|
|
CSRCS = nsinstall.c pathsub.c
|
|
|
|
ifeq ($(subst /,_,$(shell uname -s)),OS2)
|
|
DIRS = os2
|
|
LOCAL_INCLUDES += -Ios2
|
|
HSRCS += dirent.h getopt.h
|
|
endif
|
|
|
|
PLSRCS = nfspwd.pl revdepth.pl
|
|
|
|
TARGETS = $(PROGRAM) $(PLSRCS:.pl=)
|
|
|
|
# Generate the build number on the fly.
|
|
ifneq ($(origin BUILD_OFFICIAL)_$(origin MOZILLA_OFFICIAL),undefined_undefined)
|
|
TARGETS += $(DEPTH)/build/build_number
|
|
endif
|
|
|
|
# If this is an "official mozilla build" make them shortlived.
|
|
ifdef MOZILLA_OFFICIAL
|
|
TARGETS += $(DEPTH)/modules/libpref/src/init/all.js
|
|
endif
|
|
|
|
ifneq ($(subst /,_,$(shell uname -s)),WINNT)
|
|
PROGRAM = nsinstall$(BIN_SUFFIX)
|
|
TARGETS += $(OBJDIR)/bsdecho$(BIN_SUFFIX)
|
|
endif
|
|
|
|
DISTTARGETS = $(DIST)/bin/bsdecho$(BINSUFFIX)
|
|
|
|
# IMPORTANT: Disable NSBUILDROOT for this directory only, otherwise we have
|
|
# a recursive rule for finding nsinstall and the perl scripts
|
|
ifdef NSBUILDROOT
|
|
override NSBUILDROOT :=
|
|
endif
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
ifeq ($(OS_ARCH)$(OS_RELEASE),SunOS4.1)
|
|
INCLUDES += -I$(srcdir)/../nsprpub/pr/include/md
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH)$(OS_RELEASE),IRIX5)
|
|
TARGETS += $(OBJDIR)/gtscc$(BIN_SUFFIX)
|
|
endif
|
|
|
|
# Redefine MAKE_OBJDIR for just this directory
|
|
define MAKE_OBJDIR
|
|
if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
|
|
endef
|
|
|
|
export:: $(TARGETS) $(DISTTARGETS)
|
|
|
|
ifeq ($(OS_ARCH),OS2)
|
|
# could not get bsdecho rules to work implicitly, so here is explicit ones
|
|
$(OBJDIR)/bsdecho.o: bsdecho.c
|
|
@$(MAKE_OBJDIR)
|
|
$(CC) -Fo$@ $(CFLAGS) -c $<
|
|
|
|
$(OBJDIR)/bsdecho$(BIN_SUFFIX): $(OBJDIR)/bsdecho.o
|
|
@$(MAKE_OBJDIR)
|
|
$(LINK_EXE) -OUT:$@ $< $(LDFLAGS)
|
|
else
|
|
$(OBJDIR)/bsdecho$(BIN_SUFFIX): $(OBJDIR)/bsdecho.o
|
|
@$(MAKE_OBJDIR)
|
|
$(CCF) $(LDFLAGS) -o $@ $<
|
|
endif
|
|
|
|
# Artificial target to make parallel builds play nice
|
|
$(DIST)/bin/bsdecho$(BIN_SUFFIX): $(OBJDIR)/nsinstall$(BINSUFFIX) $(OBJDIR)/bsdecho$(BINSUFFIX)
|
|
$(INSTALL) -m 444 $^ $(DIST)/bin
|
|
|
|
$(OBJDIR)/gtscc$(BIN_SUFFIX): $(OBJDIR)/gtscc.o
|
|
@$(MAKE_OBJDIR)
|
|
$(CCF) $(LDFLAGS) -o $@ $< -lelf
|
|
$(INSTALL) -m 444 $@ $(DIST)/bin
|
|
|
|
#update build number from within make script
|
|
$(DEPTH)/build/build_number: FORCE
|
|
@$(MAKE_OBJDIR)
|
|
$(RM) $@
|
|
$(PERL) $(srcdir)/bdate.pl > $@
|
|
$(PERL) $(srcdir)/aboutime.pl $(topsrcdir)/l10n/us/xp/about-all.html $@
|
|
|
|
$(DEPTH)/modules/libpref/src/init/all.js: FORCE
|
|
$(PERL) $(srcdir)/set-timebomb.pl 0 30
|
|
|
|
$(OBJDIR)/bdate$(BIN_SUFFIX): $(OBJDIR)/bdate.o
|
|
@$(MAKE_OBJDIR)
|
|
$(CCF) $(LDFLAGS) -o $@ $<
|
|
$(INSTALL) -m 444 $@ $(DIST)/bin
|
|
|
|
FORCE:
|
|
|
|
ifdef MKDEPEND_DIR
|
|
clean clobber realclean clobber_all::
|
|
cd $(MKDEPEND_DIR); $(MAKE) $@
|
|
endif
|
|
|
|
ifdef MOZILLA_DETECT
|
|
clean clobber realclean clobber_all::
|
|
cd $(MOZILLA_DETECT_DIR); $(MAKE) $@
|
|
endif
|
|
|
|
# For the continuous build scripts.
|
|
show_objname:
|
|
@echo $(OBJDIR)
|
|
|
|
.PHONY: show_objname
|