diff options
author | Dexter Morgan <dmorgan@mageia.org> | 2011-06-02 20:51:35 +0000 |
---|---|---|
committer | Dexter Morgan <dmorgan@mageia.org> | 2011-06-02 20:51:35 +0000 |
commit | a9b2bdafaf625d10aef2f476aa4014fd36c846bc (patch) | |
tree | 2364afc0ee6739b59a25c44d68c9f003bcaf03d9 /mdk-stage1/Makefile | |
download | drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar.gz drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar.bz2 drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar.xz drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.zip |
Branch for updates
Diffstat (limited to 'mdk-stage1/Makefile')
-rw-r--r-- | mdk-stage1/Makefile | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile new file mode 100644 index 000000000..ed051a4be --- /dev/null +++ b/mdk-stage1/Makefile @@ -0,0 +1,249 @@ + #****************************************************************************** + # + # mdk-stage1 - the program that will load second-stage install + # + # $Id: Makefile 271082 2010-10-13 18:55:00Z tv $ + # + # Pixel (pixel@mandriva.com) (mostly done by Guillaume Cottenceau) + # + # Copyright 2000-2004 Mandriva + # + # This software may be freely redistributed under the terms of the GNU + # public license. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +VERSION=1.50 +PRODUCT=drakx-installer-binaries + + # + # Portions from Erik Troan (ewt@redhat.com) Copyright 1996 Red Hat Software + # + #***************************************************************************** + # + # Currently: + # + # ix86 + # init with dietlibc + # stage1 with dietlibc + # + # ppc + # init with dietlibc + # stage1 with glibc + # + # ia64 + # init with glibc + # stage1 with glibc + # + # x86-64 + # init with dietlibc + # stage1 with dietlibc + # + #***************************************************************************** + + +top_dir = . + +include $(top_dir)/Makefile.common +include $(top_dir)/../Makefile.config +ARCHDIR=$(ARCH) +ifeq (i386, $(ARCH)) +ARCHDIR=i586 +endif + +DEFS = -DDISTRIB_NAME=\"$(DISTRIB_NAME)\" -DDISTRIB_VERSION=\"$(DISTRIB_VERSION)\" -DDISTRIB_TYPE=\"$(DISTRIB_TYPE)\" -DDISTRIB_DESCR=\"$(DISTRIB_DESCR)\" $(ADDITIONAL_DEFS) -D_FILE_OFFSET_BITS=64 -DARCH=\"$(ARCHDIR)\" -DCONFIG_USE_ZLIB + +COMPILE = $(CC) $(DEFS) $(CFLAGS) + +INIT_DEFS = +INITSRC = init.c +ifneq (DIETLIBC, $(L)) +INIT_DEFS += $(GLIBC_INCLUDES) +endif + +INITOBJS = $(subst .c,.o,$(INITSRC)) + + + #- frontends +NEWT_FRONTEND_SRC = newt-frontend.c +NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a + +STDIO_FRONTEND_SRC = stdio-frontend.c +STDIO_FRONTEND_LIBS = +STDIO_FRONTEND_LIBS = + + +FRONTEND_OBJS = $(subst .c,.o,$($(F)_FRONTEND_SRC)) + +FRONTEND_LINK = $(FRONTEND_OBJS) $($(F)_FRONTEND_LIBS) + +STAGE1_STATIC_LIBS = libmodprobe.a +STAGE1_STATIC_USR_LIBS = libz.a libldetect.a libpci.a +STAGE1_OWN_LIBS = +ifeq (DIETLIBC, $(L)) +STAGE1_OWN_LIBS = $(patsubst %,/usr/lib/dietlibc/lib-$(ARCH)/%,$(STAGE1_STATIC_USR_LIBS) $(STAGE1_STATIC_LIBS)) +else +STAGE1_OWN_LIBS = $(patsubst %,/usr/$(LIB)/%,$(STAGE1_STATIC_USR_LIBS)) $(patsubst %,/$(LIB)/%,$(STAGE1_STATIC_LIBS)) +endif + + +ifeq (DIETLIBC, $(L)) +STAGE1_NETWORK_LIBS = /usr/lib/dietlibc/lib-$(ARCH)/librpc.a +else +STAGE1_NETWORK_LIBS = /usr/$(LIB)/libresolv.a +endif + + #- stage1 itself +STAGE1SRC = stage1.c log.c utils.c params.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c lomount.c thirdparty.c zlibsupport.c +CDROMSRC = cdrom.c +DISKSRC = disk.c directory.c partition.c +NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c directory.c wireless.c +KASRC = ka.c + +# use sort to remove duplicates +STAGE1_ALLSRC = $(sort $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC) $(KASRC)) +ALLSRC = $(INITSRC) $(STAGE1_ALLSRC) + + + +CDROM_DEFS = -DSPAWN_SHELL -DDISABLE_DISK -DDISABLE_NETWORK + + +STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC)) + +NETWORK_DEFS = -DSPAWN_SHELL -DDISABLE_CDROM -DDISABLE_DISK -DDISABLE_KA + + +STAGE1OBJS-NETWORK-STANDALONE = $(subst .c,-NETWORK-STANDALONE.o,$(STAGE1SRC) $(NETWORKSRC)) + +NETWORK_STANDALONE_DEFS = -DDISABLE_CDROM -DDISABLE_DISK -DENABLE_NETWORK_STANDALONE -DDISABLE_KA + + +STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1_ALLSRC)) + +BINS = init stage1 dhcp-client rescue-gui probe-modules + +DIRS += pci-resource usb-resource slang newt ppp/pppd rp-pppoe/src +ifeq (i386, $(ARCH)) +DIRS += pcmcia pcmcia-resource sysfs +endif +ifeq (x86_64, $(ARCH)) +DIRS += pcmcia pcmcia-resource sysfs +endif +ifeq (mips, $(ARCH)) +DIRS += sysfs +endif +ifeq (arm, $(ARCH)) +DIRS += sysfs +endif + + +ifeq (i386,$(ARCH)) +PCMCIA_LIB = pcmcia/libpcmcia.a sysfs/libsysfs.a +PCMCIA_DEFS = -DENABLE_PCMCIA +endif +ifeq (x86_64,$(ARCH)) +PCMCIA_LIB = pcmcia/libpcmcia.a sysfs/libsysfs.a +PCMCIA_DEFS = -DENABLE_PCMCIA +endif +ifeq (mips,$(ARCH)) +PCMCIA_LIB = sysfs/libsysfs.a +endif +ifeq (arm,$(ARCH)) +PCMCIA_LIB = sysfs/libsysfs.a +endif + +USB_DEFS_GEN = -DENABLE_USB +USB_DEFS = -DENABLE_USB -DDISABLE_PCIADAPTERS + +all: dirs $(BINS) + +dirs: + @for n in . $(DIRS); do \ + [ "$$n" = "." ] || make -C $$n || exit 1 ;\ + done + +init: $(INITOBJS) $(STAGE1_LIBC) + $(DIET) $(CC) $(LDFLAGS) -o $@ $^ + $(STRIPCMD) $@ + +stage1: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) bootsplash.o $(PCMCIA_LIB) $(STAGE1_LIBC) + $(DIET) $(CC) $(LDFLAGS) -o $@ $^ + $(STRIPCMD) $@ + +dhcp-client: $(STAGE1OBJS-NETWORK-STANDALONE) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC) + $(DIET) $(CC) $(LDFLAGS) -o $@ $^ + $(STRIPCMD) $@ + + +$(INITOBJS): %.o: %.c + $(COMPILE) $(INIT_DEFS) -c $< + +$(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c + $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) $(USB_DEFS_GEN) -DENABLE_ADDITIONAL_MODULES -c $< -o $@ + +$(STAGE1OBJS-NETWORK-STANDALONE): %-NETWORK-STANDALONE.o: %.c + $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_STANDALONE_DEFS) $(USB_DEFS_GEN) -c $< -o $@ + +$(STAGE1OBJS-FULL): %-FULL.o: %.c + $(DIET) $(COMPILE) $(INCLUDES) -DSPAWN_SHELL $(USB_DEFS_GEN) $(PCMCIA_DEFS) -DENABLE_BOOTSPLASH -c $< -o $@ + +.c.o: + $(DIET) $(COMPILE) $(INCLUDES) -DENABLE_BOOTSPLASH -c $< + + +clean: localclean + @for n in $(DIRS); do \ + (cd $$n; make clean) \ + done + +localclean: + rm -f *.o .depend *.rdz *.img $(BINS) + + +rescue-gui: rescue-gui.o frontend-common.o params.o utils.o log.o automatic.o $(FRONTEND_LINK) $(STAGE1_LIBC) + $(DIET) $(CC) $(LDFLAGS) -o $@ $^ + $(STRIPCMD) $@ + +probe-modules: probe-modules.o probing-FULL.o modules-FULL.o params-FULL.o utils-FULL.o log-FULL.o automatic-FULL.o frontend-common-FULL.o stdio-frontend.o zlibsupport-FULL.o $(STAGE1_OWN_LIBS) $(PCMCIA_LIB) $(STAGE1_LIBC) + $(DIET) $(CC) $(LDFLAGS) -o $@ $^ + $(STRIPCMD) $@ + +dist: tar +tar: + rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION) + @if [ -e ".svn" ]; then \ + $(MAKE) dist-svn; \ + elif [ -e "../.git" ]; then \ + $(MAKE) dist-git; \ + else \ + echo "Unknown SCM (not SVN nor GIT)";\ + exit 1; \ + fi; + $(info $(NAME)-$(VERSION).tar.bz2 is ready) + +dist-svn: + mkdir -p $(PRODUCT)-$(VERSION) + svn export -q -rBASE . $(PRODUCT)-$(VERSION)/mdk-stage1 + svn export -q -rBASE ../kernel $(PRODUCT)-$(VERSION)/kernel + cp ../Makefile.config $(PRODUCT)-$(VERSION)/ + tar cfj $(PRODUCT)-$(VERSION).tar.bz2 $(PRODUCT)-$(VERSION) + rm -rf $(PRODUCT)-$(VERSION) + +dist-git: + @cd ..; git archive --prefix=$(PRODUCT)-$(VERSION)/ HEAD mdk-stage1 kernel Makefile.config | bzip2 >mdk-stage1/$(PRODUCT)-$(VERSION).tar.bz2; + +.depend: + $(CPP) $(CFLAGS) -M $(ALLSRC) > .depend + +ifeq (.depend,$(wildcard .depend)) +include .depend +endif + + +*-NETWORK.o: %-NETWORK.o: %.o + +*-FULL.o: %-FULL.o: %.o + |