summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/Makefile
blob: a1b2fc68f3e0e61c1c8b57be4c9c0ad702f05010 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
 #******************************************************************************
 #
 #    mdk-stage1 - the program that will load second-stage install
 #
 # $Id$
 #
 # Guillaume Cottenceau (gc@mandrakesoft.com)
 #
 # Copyright 2000 MandrakeSoft
 #
 # 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.
 #
 # Portions from Erik Troan (ewt@redhat.com) Copyright 1996 Red Hat Software 
 #
 #*****************************************************************************

VERSION = 7.2cooker


ARCH := $(patsubst i%86,i386,$(shell uname -m))
ARCH := $(patsubst sparc%,sparc,$(ARCH))


 #- We can leave "-g" forever since stripping will remove everything
CFLAGS = -Os -g -Wall -Werror -fomit-frame-pointer
INCLUDES = -I.
DEFS = -D_GNU_SOURCE=1 -DVERSION=\"$(VERSION)\" -DUSE_LOGDEV -DSPAWN_SHELL

COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CFLAGS)


 #- stage1 "loader"
INITSRC = minilibc.c init.c

INITOBJS = $(subst .c,.o,$(INITSRC))


 #- stage1 itself (minus stage1.c)
STAGE1SRC = log.c #cdrom.c devices.c

STAGE1OBJS = $(subst .c,.o,$(STAGE1SRC))


ALLSRC = $(INITSRC) $(STAGE1SRC)


ifeq (i386, $(ARCH))
MINILIC=minilibc.o
LDFLAGS_INIT = -static -nostdlib /usr/lib/crt1.o
LDFLAGS_STAGE1 = -static
STATIC=-static
endif
ifeq (sparc, $(ARCH))
MINILIBC=minilibc.o /usr/lib/libc.a
LDFLAGS_INIT = -static -nostdlib /usr/lib/crt1.o
LDFLAGS_STAGE1 = -static
endif


BINS = init stage1-network


#ifeq (i386, $(ARCH))
#BINS += stage1-all stage1-cdrom stage1-network stage1-hd stage1-pcmcia
#endif
#
#ifeq (ia64, $(ARCH))
#BINS += stage1-all
#endif
#
#ifeq (alpha, $(ARCH))
#BINS += stage1-all
#endif
#
#ifeq (sparc, $(ARCH))
#BINS += stage1-all
#endif

DIRS = mar


all: dirs $(BINS)

dirs:
	@echo -e "*** BUILDING in all directories\n"
	@for n in . $(DIRS); do \
		[ "$$n" = "." ] || make -C $$n ;\
	done


init: $(INITOBJS)
	$(CC) $(LDFLAGS_INIT) -o $@ $(INITOBJS)

stage1-network: $(STAGE1OBJS) stage1-network.o $(NETOBJS)
	$(CC) $(LDFLAGS_STAGE1) -o $@ $(STAGE1OBJS) stage1-network.o $(NETOBJS)


.c.o:
	$(COMPILE) -c $<

stage1-network.o: stage1.c
	$(COMPILE) -DNETWORK_INSTALL -o $@ -c $<


clean: 
	@echo -e "*** CLEANING in all directories\n"
	@for n in $(DIRS); do \
		(cd $$n; make clean) \
	done
	rm -f *.o .depend *.rdz *.img $(BINS)

deps:
	$(CPP) $(CFLAGS) -DHAVE_CONFIG_H -M $(ALLSRC) > .depend

ifeq (.depend,$(wildcard .depend))
include .depend
endif