2011-02-16 09:38:14 +00:00
|
|
|
ARCH = x86
|
2014-02-03 09:42:32 +01:00
|
|
|
BIT = 32
|
|
|
|
|
2011-02-16 09:38:14 +00:00
|
|
|
NEWLIB = ../x86/i586-metalsvm-elf32
|
2010-08-17 09:59:29 +00:00
|
|
|
MAKE = make
|
2011-02-17 09:25:40 +01:00
|
|
|
STRIP_DEBUG = --strip-debug
|
|
|
|
KEEP_DEBUG = --only-keep-debug
|
2014-02-03 09:42:32 +01:00
|
|
|
|
2014-05-14 18:54:37 +02:00
|
|
|
override LDFLAGS += -T link.ld
|
|
|
|
|
|
|
|
ifeq ($(BIT),64)
|
2014-02-03 09:42:32 +01:00
|
|
|
# Default section offsets in x86-64 ELF files are aligned to the page-size.
|
|
|
|
# For x86-64 the pagesize is huge (2 MB) with the consquence of large sparse
|
|
|
|
# ELF files (which lead to a huge initrd). To solve this, we manually set the page-size to 4 KB.
|
2014-05-14 18:54:37 +02:00
|
|
|
override LDFLAGS += -Wl,-n,-z,max-page-size=0x1000
|
|
|
|
endif
|
2010-08-17 09:59:29 +00:00
|
|
|
|
|
|
|
# other implicit rules
|
|
|
|
%.o : %.c
|
2011-03-18 05:17:56 +01:00
|
|
|
$(CC_FOR_TARGET) -c $(CFLAGS) -o $@ $<
|
2010-08-17 09:59:29 +00:00
|
|
|
|
2011-02-16 14:46:39 +01:00
|
|
|
default: all
|
2014-02-03 09:42:32 +01:00
|
|
|
|
2014-01-28 14:31:17 +01:00
|
|
|
all: memtest hello tests jacobi mshell server client rlogind fork
|
2011-04-19 20:18:38 +02:00
|
|
|
|
|
|
|
jacobi: jacobi.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $< -lm
|
2011-04-19 20:18:38 +02:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
2013-01-30 16:29:59 +01:00
|
|
|
|
2013-01-30 17:52:24 +01:00
|
|
|
memtest: memtest.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $<
|
2013-01-30 16:29:59 +01:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
2014-01-28 14:31:17 +01:00
|
|
|
|
|
|
|
fork: fork.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $<
|
2014-01-28 14:31:17 +01:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
|
|
|
|
2011-02-28 12:22:49 +01:00
|
|
|
tests: tests.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $<
|
2011-03-18 05:17:56 +01:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
2011-02-18 10:01:11 +01:00
|
|
|
chmod a-x $@.sym
|
2010-08-17 09:59:29 +00:00
|
|
|
|
|
|
|
hello: hello.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $<
|
2011-03-18 05:17:56 +01:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
2011-02-18 10:01:11 +01:00
|
|
|
chmod a-x $@.sym
|
2010-08-17 09:59:29 +00:00
|
|
|
|
2011-05-24 00:48:56 +02:00
|
|
|
mshell: mshell.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $<
|
2011-08-10 16:57:17 +02:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
|
|
|
|
2011-09-25 20:41:03 +02:00
|
|
|
rlogind: rlogind.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $< -lsocket
|
2011-09-25 20:41:03 +02:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
|
|
|
|
2011-08-10 08:22:23 +02:00
|
|
|
server: server.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $< -lsocket
|
2011-05-24 00:48:56 +02:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
2011-05-23 13:47:05 +02:00
|
|
|
|
2011-08-10 08:22:23 +02:00
|
|
|
client: client.o
|
2014-02-03 09:42:32 +01:00
|
|
|
$(CC_FOR_TARGET) $(LDFLAGS) -o $@ $< -lsocket
|
2011-08-10 08:22:23 +02:00
|
|
|
$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
|
|
|
|
$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
|
|
|
|
chmod a-x $@.sym
|
2014-02-03 09:42:32 +01:00
|
|
|
|
2010-08-17 09:59:29 +00:00
|
|
|
clean:
|
2014-02-03 09:42:32 +01:00
|
|
|
$(RM) hello tests server client rlogind memtest fork mshell jacobi hello *.sym *.o *~
|
2010-08-17 09:59:29 +00:00
|
|
|
|
|
|
|
depend:
|
2011-03-18 05:17:56 +01:00
|
|
|
$(CC_FOR_TARGET) -MM $(CFLAGS) *.c > Makefile.dep
|
2010-08-17 09:59:29 +00:00
|
|
|
|
|
|
|
-include Makefile.dep
|
|
|
|
# DO NOT DELETE
|