diff options
Diffstat (limited to 'mdk-stage1/Makefile')
| -rw-r--r-- | mdk-stage1/Makefile | 236 |
1 files changed, 73 insertions, 163 deletions
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile index 4d7ed6906..1d66d22fe 100644 --- a/mdk-stage1/Makefile +++ b/mdk-stage1/Makefile @@ -2,11 +2,9 @@ # # mdk-stage1 - the program that will load second-stage install # - # $Id$ + # Pixel (pixel) (mostly done by Guillaume Cottenceau) # - # Guillaume Cottenceau (gc@mandrakesoft.com) - # - # Copyright 2000 MandrakeSoft + # Copyright 2000-2004 Mandriva # # This software may be freely redistributed under the terms of the GNU # public license. @@ -14,238 +12,156 @@ # 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=2.62 +PRODUCT=drakx-installer-binaries + # # Portions from Erik Troan (ewt@redhat.com) Copyright 1996 Red Hat Software # - #***************************************************************************** - # - # Currently: - # - # ix86 - # init with minilibc - # stage1 with dietlibc - # - # ppc - # init with dietlibc - # stage1 with glibc - # - # ia64 - # init with glibc - # stage1 with glibc - # - #***************************************************************************** - -VERSION = 9.1 top_dir = . include $(top_dir)/Makefile.common +include $(top_dir)/../Makefile.config +ARCHDIR=$(ARCH) +ifeq (i386, $(ARCH)) +ARCHDIR=i686 +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 -DEFS = -DVERSION=\"$(VERSION)\" -DSPAWN_SHELL - -COMPILE = $(CC) $(DEFS) $(CFLAGS) - +COMPILE = $(CC) $(DEFS) $(CFLAGS) -Wno-error=format-truncation - #- stage1 "loader" -ifeq (i386, $(ARCH)) -INITSRC = minilibc.c init.c -INIT_DEFS = -DINIT_HEADERS=\"minilibc.h\" -fno-builtin -else INITSRC = init.c -ifeq (ia64, $(ARCH)) -INIT_DEFS = -DINIT_HEADERS=\"init-libc-headers.h\" $(GLIBC_INCLUDES) -else -INIT_DEFS = -DINIT_HEADERS=\"init-libc-headers.h\" $(DIETLIBC_INCLUDES) -endif -endif -INITOBJS = $(subst .c,.o,$(INITSRC)) +STAGE1_DEFS=-DDISABLE_KA + +INITOBJS = $(INITSRC:.c=.o) #- frontends NEWT_FRONTEND_SRC = newt-frontend.c -GLIBC_NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a -DIETLIBC_NEWT_FRONTEND_LIBS = $(subst .a,-DIET.a,$(GLIBC_NEWT_FRONTEND_LIBS)) +NEWT_FRONTEND_LIBS = -lnewt -lslang STDIO_FRONTEND_SRC = stdio-frontend.c -GLIBC_STDIO_FRONTEND_LIBS = -DIETLIBC_STDIO_FRONTEND_LIBS = - +STDIO_FRONTEND_LIBS = -FRONTEND_OBJS = $(subst .c,.o,$($(F)_FRONTEND_SRC)) +FRONTEND_OBJS = $($(F)_FRONTEND_SRC:.c=.o) -FRONTEND_LINK = $(FRONTEND_OBJS) $($(L)_$(F)_FRONTEND_LIBS) - -ifeq (i386, $(ARCH)) -INSMOD = insmod-busybox -else -INSMOD = insmod-modutils -endif +FRONTEND_LINK = $(FRONTEND_OBJS) $($(F)_FRONTEND_LIBS) -GLIBC_STAGE1_OWN_LIBS = $(INSMOD)/libinsmod.a mar/libmar.a bzlib/libbzlib.a -DIETLIBC_STAGE1_OWN_LIBS = $(subst .a,-DIET.a,$(GLIBC_STAGE1_OWN_LIBS)) -STAGE1_OWN_LIBS = $($(L)_STAGE1_OWN_LIBS) +STAGE1_OWN_LIBS = -lz -lldetect -lkmod -lpci -llzma -lsysfs -ifeq (DIETLIBC, $(L)) -STAGE1_NETWORK_LIBS = $(top_dir)/dietlibc/bin-$(ARCH)/librpc.a -endif - -ifeq (GLIBC, $(L)) -STAGE1_NETWORK_LIBS = /usr/lib/libresolv.a -endif - #- stage1 itself -STAGE1SRC = stage1.c log.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c +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 lomount.c -NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c - -ALLSRC = $(INITSRC) $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC) - +DISKSRC = disk.c directory.c partition.c +NETWORKSRC = network.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) -STAGE1OBJS-CDROM = $(subst .c,-CDROM.o,$(STAGE1SRC) $(CDROMSRC)) -CDROM_DEFS = -DDISABLE_DISK -DDISABLE_NETWORK - -STAGE1OBJS-DISK = $(subst .c,-DISK.o,$(STAGE1SRC) $(DISKSRC)) -STAGE1OBJS-DISK-USB = $(subst .c,-DISK-USB.o,$(STAGE1SRC) $(DISKSRC)) - -DISK_DEFS = -DDISABLE_CDROM -DDISABLE_NETWORK +CDROM_DEFS = -DSPAWN_SHELL -DDISABLE_DISK -DDISABLE_NETWORK STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC)) -STAGE1OBJS-NETWORK-USB = $(subst .c,-NETWORK-USB.o,$(STAGE1SRC) $(NETWORKSRC)) -NETWORK_DEFS = -DDISABLE_CDROM -DDISABLE_DISK +NETWORK_DEFS = -DSPAWN_SHELL -DDISABLE_CDROM -DDISABLE_DISK -DDISABLE_KA -STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC)) +STAGE1OBJS-NETWORK-STANDALONE = $(subst .c,-NETWORK-STANDALONE.o,$(STAGE1SRC) $(NETWORKSRC)) +NETWORK_STANDALONE_DEFS = -DDISABLE_CDROM -DDISABLE_DISK -DENABLE_NETWORK_STANDALONE -DDISABLE_KA -ifeq (i386, $(ARCH)) -LDFLAGS_INIT = -static -nostdlib /usr/lib/crt1.o -else -ifeq (ia64, $(ARCH)) -LDFLAGS_INIT = $(GLIBC_LDFLAGS_STAGE1) -INIT_LIBC = $(GLIBC_LIBC) -else -LDFLAGS_INIT = $(DIETLIBC_LDFLAGS_STAGE1) -INIT_LIBC = $(DIETLIBC_LIBC) -endif -endif +STAGE1OBJS-FULL = $(STAGE1_ALLSRC:.c=-FULL.o) -BINS = init stage1-full +BINS = init stage1 dhcp-client rescue-gui probe-modules -ifeq (i386, $(ARCH)) -BINS += stage1-cdrom stage1-disk stage1-network stage1-network-usb stage1-disk-usb -endif - -ifneq (ia64, $(ARCH)) -DIRS = dietlibc -endif -DIRS += mar pci-resource usb-resource bzlib $(INSMOD) slang newt ppp/pppd rp-pppoe/src -ifeq (i386,$(ARCH)) -DIRS += pcmcia_ -endif - - -ifeq (i386,$(ARCH)) -GLIBC_PCMCIA_LIB = pcmcia_/libpcmcia.a -DIETLIBC_PCMCIA_LIB = $(subst .a,-DIET.a,$(GLIBC_PCMCIA_LIB)) -PCMCIA_LIB = $($(L)_PCMCIA_LIB) +OTHERS = pci-ids.h usb-ids.h +ifneq (,$(filter $(ARCH),i386 x86_64)) +OTHERS += pcmcia-ids.h pcmcia +PCMCIA_LIB = pcmcia/libpcmcia.a PCMCIA_DEFS = -DENABLE_PCMCIA endif - USB_DEFS_GEN = -DENABLE_USB USB_DEFS = -DENABLE_USB -DDISABLE_PCIADAPTERS -all: dirs $(BINS) +all: $(OTHERS) $(BINS) -dirs: - @for n in . $(DIRS); do \ - [ "$$n" = "." ] || make -C $$n || exit 1 ;\ - done +pci-ids.h: /usr/share/ldetect-lst/pcitable.gz update-pci-ids.pl + perl update-pci-ids.pl > $@ || { rm -f $@; exit 1; } -init: $(INITOBJS) $(INIT_LIBC) - $(CC) $(LDFLAGS_INIT) -o $@ $^ - $(STRIPCMD) $@ +usb-ids.h: /usr/share/ldetect-lst/usbtable.gz update-usb-ids.pl + perl update-usb-ids.pl > $@ || rm -f $@ -stage1-cdrom: $(STAGE1OBJS-CDROM) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ - $(STRIPCMD) $@ +pcmcia-ids.h: update-pcmcia-ids.pl + perl update-pcmcia-ids.pl > $@ || { rm -f $@; exit 1; } -stage1-disk: $(STAGE1OBJS-DISK) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ - $(STRIPCMD) $@ +pcmcia/libpcmcia.a: + make -j -C pcmcia -stage1-disk-usb: $(STAGE1OBJS-DISK-USB) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ - $(STRIPCMD) $@ +probing.c: pci-ids.h -stage1-network: $(STAGE1OBJS-NETWORK) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ +init: $(INITOBJS) + $(CC) $(LDFLAGS) -o $@ $^ $(STRIPCMD) $@ -stage1-network-usb: $(STAGE1OBJS-NETWORK-USB) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ +stage1: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) + $(CC) $(LDFLAGS) -o $@ $^ $(STRIPCMD) $@ -stage1-full: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ +dhcp-client: $(STAGE1OBJS-NETWORK-STANDALONE) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) + $(CC) $(LDFLAGS) -o $@ $^ $(STRIPCMD) $@ $(INITOBJS): %.o: %.c - $(COMPILE) $(INIT_DEFS) -c $< - -$(STAGE1OBJS-CDROM): %-CDROM.o: %.c - $(COMPILE) $(INCLUDES) $(CDROM_DEFS) -c $< -o $@ - -$(STAGE1OBJS-DISK): %-DISK.o: %.c - $(COMPILE) $(INCLUDES) $(DISK_DEFS) -c $< -o $@ - -$(STAGE1OBJS-DISK-USB): %-DISK-USB.o: %.c - $(COMPILE) $(INCLUDES) $(DISK_DEFS) $(USB_DEFS_GEN) -c $< -o $@ + $(COMPILE) -c $< $(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c - $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) -c $< -o $@ + $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) $(USB_DEFS_GEN) -DENABLE_ADDITIONAL_MODULES -c $< -o $@ -$(STAGE1OBJS-NETWORK-USB): %-NETWORK-USB.o: %.c - $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(USB_DEFS_GEN) -c $< -o $@ +$(STAGE1OBJS-NETWORK-STANDALONE): %-NETWORK-STANDALONE.o: %.c + $(COMPILE) $(INCLUDES) $(NETWORK_STANDALONE_DEFS) $(USB_DEFS_GEN) -c $< -o $@ $(STAGE1OBJS-FULL): %-FULL.o: %.c - $(COMPILE) $(INCLUDES) $(USB_DEFS_GEN) $(PCMCIA_DEFS) -c $< -o $@ + $(COMPILE) $(INCLUDES) -DSPAWN_SHELL $(USB_DEFS_GEN) $(PCMCIA_DEFS) $(STAGE1_DEFS) -c $< -o $@ .c.o: $(COMPILE) $(INCLUDES) -c $< -clean: +clean: localclean @for n in $(DIRS); do \ (cd $$n; make clean) \ done - rm -f *.o .depend *.rdz *.img rescue-gui $(BINS) + +localclean: + rm -f *.o .depend *.rdz *.img pci-ids.h pcmcia-ids.h usb-ids.h $(BINS) -tar-mkinitrd_helper: clean - rm -rf mkinitrd_helper-subdir - mkdir mkinitrd_helper-subdir - cd mkinitrd_helper-subdir ; cp -a ../dietlibc ../insmod-busybox ../Makefile.common ../insmod.h ../log.h . ; \ - cp ../Makefile.mkinitrd_helper Makefile - tar cfj mkinitrd_helper.tar.bz2 mkinitrd_helper-subdir --exclude CVS - rm -rf mkinitrd_helper-subdir +rescue-gui: rescue-gui.o frontend-common.o params.o utils.o log.o automatic.o $(FRONTEND_LINK) + $(CC) $(LDFLAGS) -o $@ $^ + $(STRIPCMD) $@ -rescue-gui: rescue-gui.o frontend-common.o $(FRONTEND_LINK) $(STAGE1_LIBC) - $(CC) $(LDFLAGS_STAGE1) -o $@ $^ +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) + $(CC) $(LDFLAGS) -o $@ $^ $(STRIPCMD) $@ +dist: tar +tar: + rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION) + @cd ..; git archive --prefix=$(PRODUCT)-$(VERSION)/ HEAD mdk-stage1 kernel Makefile.config | xz >mdk-stage1/$(PRODUCT)-$(VERSION).tar.xz; + $(info $(PRODUCT)-$(VERSION).tar.xz is ready) .depend: $(CPP) $(CFLAGS) -M $(ALLSRC) > .depend @@ -255,13 +171,7 @@ include .depend endif -*-CDROM.o: %-CDROM.o: %.o - -*-DISK.o: %-DISK.o: %.o - *-NETWORK.o: %-NETWORK.o: %.o -*-USB.o: %-USB.o: %.o - *-FULL.o: %-FULL.o: %.o |
