forked from KolibriOS/kolibrios
menuetlibc: drop support for exotic configurations, it doesn't work anyway
git-svn-id: svn://kolibrios.org@5145 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
908f9c8bce
commit
9757da66f4
@ -1,26 +1,12 @@
|
|||||||
include osrules.mak
|
include osrules.mak
|
||||||
all: genconfig
|
all:
|
||||||
@echo Building library for $(VERSION_OS)
|
|
||||||
gcc mkversion.c -o mkversion$(EXESUFFIX)
|
gcc mkversion.c -o mkversion$(EXESUFFIX)
|
||||||
ifdef ON_MINGW
|
|
||||||
mkversion$(EXESUFFIX) < version > include/libc/version.h
|
|
||||||
else
|
|
||||||
./mkversion$(EXESUFFIX) < version > include/libc/version.h
|
./mkversion$(EXESUFFIX) < version > include/libc/version.h
|
||||||
endif
|
|
||||||
make -C linuxtools
|
|
||||||
make -C src depend
|
make -C src depend
|
||||||
make -C src
|
make -C src
|
||||||
make -C stub
|
make -C stub
|
||||||
|
|
||||||
genconfig:
|
|
||||||
ifdef ON_MINGW
|
|
||||||
@echo #$(NEED_UNDERSCORES) NEEDS_UNDERSCORES> config.h
|
|
||||||
else
|
|
||||||
@echo "#$(NEED_UNDERSCORES) NEEDS_UNDERSCORES" > config.h
|
|
||||||
endif
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
make -C src clean
|
make -C src clean
|
||||||
make -C linuxtools clean
|
|
||||||
make -C stub clean
|
make -C stub clean
|
||||||
$(RM) mkversion$(EXESUFFIX)
|
$(RM) mkversion$(EXESUFFIX)
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
if tup.getconfig("TUP_PLATFORM") == "win32"
|
|
||||||
-- on win32 '#' is not a special character, but backslash and quotes would be printed as is
|
|
||||||
then tup.rule('echo #define NEEDS_UNDERSCORES > %o', {"config.h"})
|
|
||||||
-- on unix '#' should be escaped
|
|
||||||
else tup.rule('echo "#define NEEDS_UNDERSCORES" > %o', {"config.h"})
|
|
||||||
end
|
|
1
programs/develop/libraries/menuetlibc/config.h
Normal file
1
programs/develop/libraries/menuetlibc/config.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#define NEEDS_UNDERSCORES
|
@ -1,30 +0,0 @@
|
|||||||
include $(MENUETDEV)/osrules.mak
|
|
||||||
|
|
||||||
WAIT =
|
|
||||||
ifdef ON_MINGW
|
|
||||||
WAIT = -DWEXITSTATUS=
|
|
||||||
endif
|
|
||||||
|
|
||||||
TOOLS = mgcc$(EXESUFFIX) mld$(EXESUFFIX) mgpp$(EXESUFFIX) mmkdep$(EXESUFFIX) \
|
|
||||||
mchmem$(EXESUFFIX)
|
|
||||||
|
|
||||||
all: $(TOOLS)
|
|
||||||
|
|
||||||
mgcc$(EXESUFFIX): mgcc.c
|
|
||||||
gcc mgcc.c -o mgcc$(EXESUFFIX) -DHAS_DEVENV=$(HAS_DEVENV) -s $(WAIT)
|
|
||||||
|
|
||||||
mgpp$(EXESUFFIX): mgpp.c
|
|
||||||
gcc mgpp.c -o mgpp$(EXESUFFIX) -DHAS_DEVENV=$(HAS_DEVENV) -s \
|
|
||||||
-DTOOLNAME=\"$(GPP_TOOLNAME)\" $(WAIT)
|
|
||||||
|
|
||||||
mld$(EXESUFFIX): mld.c
|
|
||||||
gcc mld.c -o mld$(EXESUFFIX) -DHAS_DEVENV=$(HAS_DEVENV) -s $(WAIT)
|
|
||||||
|
|
||||||
mchmem$(EXESUFFIX): mchmem.c
|
|
||||||
gcc mchmem.c -o mchmem$(EXESUFFIX) -DHAS_DEVENV=$(HAS_DEVENV) -s $(WAIT)
|
|
||||||
|
|
||||||
mmkdep$(EXESUFFIX): mmkdep.c
|
|
||||||
gcc mmkdep.c -o mmkdep$(EXESUFFIX) -DHAS_DEVENV=$(HAS_DEVENV) -s $(WAIT)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(RM) $(TOOLS)
|
|
@ -1,49 +0,0 @@
|
|||||||
#define OFF 20
|
|
||||||
|
|
||||||
#include<stdio.h>
|
|
||||||
#include<stdlib.h>
|
|
||||||
#include<string.h>
|
|
||||||
|
|
||||||
int main(int argc,char * argv[])
|
|
||||||
{
|
|
||||||
FILE * f;
|
|
||||||
char * buf;
|
|
||||||
unsigned long sz,newsz;
|
|
||||||
if(argc<3)
|
|
||||||
{
|
|
||||||
printf("Usage:\n");
|
|
||||||
printf("%s filename memsize_hex\n",argv[0]);
|
|
||||||
printf("Example:\n\t%s test.app 100000\n",argv[0]);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
sscanf(argv[2],"%x",&newsz);
|
|
||||||
if(newsz<0x10000 || newsz>0x2000000) /* Min 64kB max 32MB */
|
|
||||||
{
|
|
||||||
printf("Impossibly large memory size %x\n",newsz);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
f=fopen(argv[1],"rb");
|
|
||||||
if(!f)
|
|
||||||
{
|
|
||||||
printf("Unable to open file\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
fseek(f,0,SEEK_END);
|
|
||||||
sz=ftell(f);
|
|
||||||
fseek(f,0,SEEK_SET);
|
|
||||||
buf=malloc(sz);
|
|
||||||
if(!buf)
|
|
||||||
{
|
|
||||||
printf("Unable to allocate temporary buffer\n");
|
|
||||||
fclose(f);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
fread(buf,1,sz,f);
|
|
||||||
fclose(f);
|
|
||||||
f=fopen(argv[1],"wb");
|
|
||||||
*((unsigned long *)(buf+OFF))=newsz;
|
|
||||||
fwrite(buf,1,sz,f);
|
|
||||||
fclose(f);
|
|
||||||
free(buf);
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
#include<stdio.h>
|
|
||||||
#include<stdlib.h>
|
|
||||||
#ifndef WEXITSTATUS
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char buf[32768];
|
|
||||||
|
|
||||||
#if (HAS_DEVENV == 0)
|
|
||||||
char * __dev_env;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void __env(void)
|
|
||||||
{
|
|
||||||
char * p=getenv("MENUETDEV");
|
|
||||||
if(!p)
|
|
||||||
{
|
|
||||||
printf("MENUETDEV system variable not set !!!\n");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV == 0)
|
|
||||||
__dev_env=p;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc,char * argv[])
|
|
||||||
{
|
|
||||||
int u;
|
|
||||||
__env();
|
|
||||||
if(argc<3)
|
|
||||||
{
|
|
||||||
fprintf(stderr,"Usage: %s infile.c outfile.o\n",argv[0]);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV==1)
|
|
||||||
sprintf(buf,"gcc -c %s -o %s -Os -nostdinc -fno-builtin -I/dev/env/MENUETDEV/include "
|
|
||||||
"-fno-common -DMENUETDEV='\"/dev/env/MENUETDEV\"' "
|
|
||||||
"-D__DEV_CONFIG_H='</dev/env/MENUETDEV/config.h>' -D__MENUETOS__ ",argv[1],argv[2]);
|
|
||||||
#else
|
|
||||||
sprintf(buf,"gcc -c %s -o %s -Os -nostdinc -fno-builtin -I%s/include "
|
|
||||||
"-fno-common -DMENUETDEV='\"%s\"' "
|
|
||||||
"-D__DEV_CONFIG_H=\"<%s/config.h>\" -D__MENUETOS__ ",argv[1],argv[2],__dev_env,__dev_env,__dev_env);
|
|
||||||
#endif
|
|
||||||
if(argc>3)
|
|
||||||
for(u=3;u<argc;u++)
|
|
||||||
{
|
|
||||||
strcat(buf,argv[u]);
|
|
||||||
strcat(buf," ");
|
|
||||||
}
|
|
||||||
return WEXITSTATUS(system(buf));
|
|
||||||
}
|
|
@ -1,52 +0,0 @@
|
|||||||
#include<stdio.h>
|
|
||||||
#include<stdlib.h>
|
|
||||||
#ifndef WEXITSTATUS
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char buf[32768];
|
|
||||||
|
|
||||||
#if (HAS_DEVENV==0)
|
|
||||||
char * __dev_env;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void __env(void)
|
|
||||||
{
|
|
||||||
char * p=getenv("MENUETDEV");
|
|
||||||
if(!p)
|
|
||||||
{
|
|
||||||
printf("MENUETDEV system variable not set !!!\n");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV==0)
|
|
||||||
__dev_env=p;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc,char * argv[])
|
|
||||||
{
|
|
||||||
int u;
|
|
||||||
__env();
|
|
||||||
if(argc<3)
|
|
||||||
{
|
|
||||||
fprintf(stderr,"Usage: %s infile.cpp outfile.o\n",argv[0]);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV==1)
|
|
||||||
sprintf(buf,"%s -c %s -o %s -nostdinc -fno-builtin -I/dev/env/MENUETDEV/include -fno-common "
|
|
||||||
"-I/dev/env/MENUETDEV/include/STL "
|
|
||||||
"-O1 -fno-rtti -fno-exceptions -fomit-frame-pointer -D__MENUETOS__ ",TOOLNAME,argv[1],argv[2]);
|
|
||||||
#else
|
|
||||||
sprintf(buf,"%s -c %s -o %s -nostdinc -fno-builtin -I%s/include -fno-common "
|
|
||||||
"-I%s/include/STL -D__MENUETOS__ "
|
|
||||||
"-O1 -fno-rtti -fno-exceptions -fomit-frame-pointer ",TOOLNAME,argv[1],argv[2],
|
|
||||||
__dev_env,__dev_env);
|
|
||||||
#endif
|
|
||||||
if(argc>3)
|
|
||||||
for(u=3;u<argc;u++)
|
|
||||||
{
|
|
||||||
strcat(buf,argv[u]);
|
|
||||||
strcat(buf," ");
|
|
||||||
}
|
|
||||||
return WEXITSTATUS(system(buf));
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
#include<stdio.h>
|
|
||||||
#include<stdlib.h>
|
|
||||||
#ifndef WEXITSTATUS
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char buf[32768];
|
|
||||||
|
|
||||||
#if (HAS_DEVENV==0)
|
|
||||||
char * __dev_env;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void __env(void)
|
|
||||||
{
|
|
||||||
char * p=getenv("MENUETDEV");
|
|
||||||
if(!p)
|
|
||||||
{
|
|
||||||
printf("MENUETDEV system variable not set !!!\n");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV==0)
|
|
||||||
__dev_env=p;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc,char * argv[])
|
|
||||||
{
|
|
||||||
int u;
|
|
||||||
__env();
|
|
||||||
if(argc<3)
|
|
||||||
{
|
|
||||||
fprintf(stderr,"Usage: %s outprogramname file1.o file2.o ...\n",argv[0]);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV == 1)
|
|
||||||
sprintf(buf,"ld -T/dev/env/MENUETDEV/include/scripts/menuetos_app_v01.ld "
|
|
||||||
"-nostdlib -L/dev/env/MENUETDEV/lib -o %s "
|
|
||||||
"/dev/env/MENUETDEV/stub/crt0.o ",argv[1]);
|
|
||||||
#else
|
|
||||||
sprintf(buf,"ld -T%s/include/scripts/menuetos_app_v01.ld "
|
|
||||||
"-nostdlib -L%s/lib -o %s "
|
|
||||||
"%s/stub/crt0.o ",__dev_env,__dev_env,argv[1],__dev_env);
|
|
||||||
#endif
|
|
||||||
for(u=2;u<argc;u++)
|
|
||||||
{
|
|
||||||
strcat(buf,argv[u]);
|
|
||||||
strcat(buf," ");
|
|
||||||
}
|
|
||||||
strcat(buf,"-lc");
|
|
||||||
return WEXITSTATUS(system(buf));
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
#include<stdio.h>
|
|
||||||
#include<stdlib.h>
|
|
||||||
#ifndef WEXITSTATUS
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char buf[32768];
|
|
||||||
|
|
||||||
#if (HAS_DEVENV == 0)
|
|
||||||
char * __dev_env;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void __env(void)
|
|
||||||
{
|
|
||||||
char * p=getenv("MENUETDEV");
|
|
||||||
if(!p)
|
|
||||||
{
|
|
||||||
printf("MENUETDEV system variable not set !!!\n");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV == 0)
|
|
||||||
__dev_env=p;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc,char * argv[])
|
|
||||||
{
|
|
||||||
int u;
|
|
||||||
__env();
|
|
||||||
if(argc<2)
|
|
||||||
{
|
|
||||||
fprintf(stderr,"Usage: %s file1.c file2.s ...\n",argv[0]);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#if (HAS_DEVENV == 0)
|
|
||||||
sprintf(buf,"gcc -nostdinc -I%s/include -D__DEV_CONFIG_H=\"<%s/config.h>\" -M ",__dev_env,__dev_env);
|
|
||||||
#else
|
|
||||||
sprintf(buf,"gcc -nostdinc -I/dev/env/MENUETDEV/include -D__DEV_CONFIG_H='\"/dev/env/MENUETDEV/config.h\"' -M ");
|
|
||||||
#endif
|
|
||||||
for(u=1;u<argc;u++)
|
|
||||||
{
|
|
||||||
strcat(buf,argv[u]);
|
|
||||||
strcat(buf," ");
|
|
||||||
}
|
|
||||||
return WEXITSTATUS(system(buf));
|
|
||||||
}
|
|
@ -3,23 +3,23 @@ include $(MENUETDEV)/osrules.mak
|
|||||||
.SUFFIXES: .asm;
|
.SUFFIXES: .asm;
|
||||||
|
|
||||||
$(OUTFILE): $(OBJS)
|
$(OUTFILE): $(OBJS)
|
||||||
$(MLD) $(OUTFILE) $(OBJS) -lcpp $(LIBS) $(LDFLAGS) $(LD32OPT)
|
$(MLD) -o $(OUTFILE) $(OBJS) -lcpp $(LIBS) $(LDFLAGS) -lc
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(MGCC) $*.c $*.o $(CFLAGS) $(GCC32OPT)
|
$(MGCC) $*.c -o $*.o $(CFLAGS)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(MGPP) $*.cpp $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cpp -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.cc.o:
|
.cc.o:
|
||||||
$(MGPP) $*.cc $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cc -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.asm.o:
|
.asm.o:
|
||||||
nasm $*.asm -f $(ASMFMT) -o $*.o
|
nasm $*.asm -f $(ASMFMT) -o $*.o
|
||||||
|
|
||||||
.s.o:
|
.s.o:
|
||||||
cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include $(SFLAGS)
|
kos32-cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include $(SFLAGS)
|
||||||
as $*.asm $(AS32OPT) -o $*.o
|
kos32-as $*.asm -o $*.o
|
||||||
$(RM) $*.asm
|
$(RM) $*.asm
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -3,23 +3,23 @@ include $(MENUETDEV)/osrules.mak
|
|||||||
.SUFFIXES: .asm;
|
.SUFFIXES: .asm;
|
||||||
|
|
||||||
$(OUTFILE): $(OBJS)
|
$(OUTFILE): $(OBJS)
|
||||||
ar rcs $(OUTFILE) $(OBJS)
|
kos32-ar rcs $(OUTFILE) $(OBJS)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(MGCC) $*.c $*.o $(CFLAGS) $(GCC32OPT)
|
$(MGCC) $*.c -o $*.o $(CFLAGS)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(MGPP) $*.cpp $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cpp -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.cc.o:
|
.cc.o:
|
||||||
$(MGPP) $*.cc $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cc -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.asm.o:
|
.asm.o:
|
||||||
nasm $*.asm -f $(ASMFMT) -o $*.o
|
nasm $*.asm -f $(ASMFMT) -o $*.o
|
||||||
|
|
||||||
.s.o:
|
.s.o:
|
||||||
cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include
|
kos32-cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include
|
||||||
as $*.asm $(AS32OPT) -o $*.o
|
kos32-as $*.asm -o $*.o
|
||||||
$(RM) $*.asm
|
$(RM) $*.asm
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -3,23 +3,23 @@ include $(MENUETDEV)/osrules.mak
|
|||||||
.SUFFIXES: .asm;
|
.SUFFIXES: .asm;
|
||||||
|
|
||||||
$(OUTFILE): $(OBJS)
|
$(OUTFILE): $(OBJS)
|
||||||
ld -r -o $(OUTFILE) $(OBJS) $(LDFLAGS) $(LD32OPT)
|
kos32-ld -r -o $(OUTFILE) $(OBJS) $(LDFLAGS)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(MGCC) $*.c $*.o $(CFLAGS) $(GCC32OPT)
|
$(MGCC) $*.c -o $*.o $(CFLAGS)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(MGPP) $*.cpp $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cpp -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.cc.o:
|
.cc.o:
|
||||||
$(MGPP) $*.cc $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cc -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.asm.o:
|
.asm.o:
|
||||||
nasm $*.asm -f $(ASMFMT) -o $*.o
|
nasm $*.asm -f $(ASMFMT) -o $*.o
|
||||||
|
|
||||||
.s.o:
|
.s.o:
|
||||||
cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include
|
kos32-cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include
|
||||||
as $*.asm $(AS32OPT) -o $*.o
|
kos32-as $*.asm -o $*.o
|
||||||
$(RM) $*.asm
|
$(RM) $*.asm
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -1,31 +1,27 @@
|
|||||||
include $(MENUETDEV)/osrules.mak
|
include $(MENUETDEV)/osrules.mak
|
||||||
ifdef ON_WINDOWS
|
|
||||||
ALIGN = --section-alignment=16 --file-alignment=16
|
ALIGN = --section-alignment=16 --file-alignment=16
|
||||||
else
|
|
||||||
ALIGN =
|
|
||||||
endif
|
|
||||||
|
|
||||||
.SUFFIXES: .asm;
|
.SUFFIXES: .asm;
|
||||||
|
|
||||||
$(OUTFILE): $(OBJS)
|
$(OUTFILE): $(OBJS)
|
||||||
$(MLD) $(OUTFILE) $(OBJS) $(LIBS) $(LDFLAGS) -n -Map $(OUTFILE).map $(LD32OPT)$(ALIGN)
|
$(MLD) -o $(OUTFILE) $(OBJS) $(LIBS) $(LDFLAGS) -n -Map $(OUTFILE).map $(ALIGN) -lc
|
||||||
objcopy $(OUTFILE) -O binary
|
objcopy $(OUTFILE) -O binary
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(MGCC) $*.c $*.o $(CFLAGS) $(GCC32OPT)
|
$(MGCC) $*.c -o $*.o $(CFLAGS)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(MGPP) $*.cpp $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cpp -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.cc.o:
|
.cc.o:
|
||||||
$(MGPP) $*.cc $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cc -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.asm.o:
|
.asm.o:
|
||||||
nasm $*.asm -f $(ASMFMT) -o $*.o
|
nasm $*.asm -f $(ASMFMT) -o $*.o
|
||||||
|
|
||||||
.s.o:
|
.s.o:
|
||||||
cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include
|
kos32-cpp $*.s -o $*.asm -nostdinc -I$(MENUETDEV)/include
|
||||||
as $*.asm $(AS32OPT) -o $*.o
|
kos32-as $*.asm -o $*.o
|
||||||
$(RM) $*.asm
|
$(RM) $*.asm
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -1,58 +1,10 @@
|
|||||||
ifdef windir
|
|
||||||
ON_WINDOWS = 1
|
|
||||||
else
|
|
||||||
ifdef WINDIR
|
|
||||||
ON_WINDOWS = 1
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef ON_WINDOWS
|
|
||||||
VERSION_OS = linux
|
|
||||||
NEED_UNDERSCORES = undef
|
|
||||||
EXESUFFIX =
|
EXESUFFIX =
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
MV = mv
|
MV = mv
|
||||||
D_ECHO = echo
|
D_ECHO = echo
|
||||||
LIBDIR = $(MENUETDEV)/lib
|
LIBDIR = $(MENUETDEV)/lib
|
||||||
ASMFMT = elf
|
|
||||||
else
|
|
||||||
ifdef HOME
|
|
||||||
VERSION_OS = cygwin
|
|
||||||
NEED_UNDERSCORES = define
|
|
||||||
EXESUFFIX = .exe
|
|
||||||
RM = rm -f
|
|
||||||
MV = mv
|
|
||||||
D_ECHO = echo
|
|
||||||
LIBDIR = $(MENUETDEV)/lib
|
|
||||||
ASMFMT = elf
|
|
||||||
else
|
|
||||||
VERSION_OS = MinGW
|
|
||||||
NEED_UNDERSCORES = define
|
|
||||||
EXESUFFIX = .exe
|
|
||||||
RM = del
|
|
||||||
MV = move
|
|
||||||
D_ECHO = echo.
|
|
||||||
ON_MINGW = 1
|
|
||||||
LIBDIR = $(MENUETDEV)\lib
|
|
||||||
ASMFMT = coff
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
HAS_DEVENV = 0
|
MGCC=kos32-gcc -c -Os -nostdinc -fno-builtin -I$(MENUETDEV)/include -fno-common -D__DEV_CONFIG_H="\"../../config.h\"" -D__MENUETOS__
|
||||||
GPP_TOOLNAME = g++
|
MGPP=kos32-g++ -c -Os -nostdinc -fno-builtin -I$(MENUETDEV)/include -fno-common -I$(MENUETDEV)/include/STL -D__MENUETOS__ -fno-rtti -fno-exceptions -fomit-frame-pointer
|
||||||
STUBFMT = elf
|
MLD=kos32-ld -T$(MENUETDEV)/include/scripts/menuetos_app_v01.ld -nostdlib -L$(MENUETDEV)/lib $(MENUETDEV)/stub/crt0.o
|
||||||
|
MMKDEP=kos32-gcc -nostdinc -I$(MENUETDEV)/include -D__DEV_CONFIG_H="\"../../config.h\"" -M
|
||||||
MMKDEP = $(MENUETDEV)/linuxtools/mmkdep
|
|
||||||
MGCC = $(MENUETDEV)/linuxtools/mgcc
|
|
||||||
MGPP = $(MENUETDEV)/linuxtools/mgpp
|
|
||||||
MLD = $(MENUETDEV)/linuxtools/mld
|
|
||||||
MCHMEM = $(MENUETDEV)/linuxtools/mchmem
|
|
||||||
|
|
||||||
GCC32OPT =
|
|
||||||
AS32OPT =
|
|
||||||
LD32OPT =
|
|
||||||
ifneq (,$(findstring 64,$(shell gcc -dumpmachine)))
|
|
||||||
GCC32OPT = -m32
|
|
||||||
AS32OPT = --32
|
|
||||||
LD32OPT = -m$(ASMFMT)_i386
|
|
||||||
endif
|
|
||||||
|
@ -2,24 +2,24 @@ include $(MENUETDEV)/osrules.mak
|
|||||||
|
|
||||||
.SUFFIXES: .asm;
|
.SUFFIXES: .asm;
|
||||||
|
|
||||||
AS = as
|
AS = kos32-as
|
||||||
NASM = nasm
|
NASM = nasm
|
||||||
CPP = cpp
|
CPP = kos32-cpp
|
||||||
|
|
||||||
DEBUG = 0
|
DEBUG = 0
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(MGCC) $*.c $*.o $(CFLAGS) $(GCC32OPT)
|
$(MGCC) $*.c -o $*.o $(CFLAGS)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(MGPP) $*.cpp $*.o $(CPPFLAGS) $(GCC32OPT)
|
$(MGPP) $*.cpp -o $*.o $(CPPFLAGS)
|
||||||
|
|
||||||
.asm.o:
|
.asm.o:
|
||||||
$(NASM) $*.asm -o $*.o -f $(ASMFMT)
|
$(NASM) $*.asm -o $*.o -f $(ASMFMT)
|
||||||
|
|
||||||
.s.o:
|
.s.o:
|
||||||
$(CPP) -nostdinc -I$(MENUETDEV)/include $*.s -o $*.sx $(CSFLAGS) -DMENUETDEV=$(MENUETDEV) -D__DEV_CONFIG_H=\"$(MENUETDEV)/config.h\"
|
$(CPP) -nostdinc -I$(MENUETDEV)/include $*.s -o $*.sx $(CSFLAGS) -DMENUETDEV=$(MENUETDEV) -D__DEV_CONFIG_H=\"$(MENUETDEV)/config.h\"
|
||||||
as $*.sx $(AS32OPT) -o $*.o
|
$(AS) $*.sx -o $*.o
|
||||||
$(RM) $*.sx
|
$(RM) $*.sx
|
||||||
|
|
||||||
ATHIS_LIBC_OBJS += $(subst .c,.o,$(filter %.c,$(THIS_SRCS))) \
|
ATHIS_LIBC_OBJS += $(subst .c,.o,$(filter %.c,$(THIS_SRCS))) \
|
||||||
@ -44,15 +44,8 @@ else
|
|||||||
@echo "# nothing" > ./ldepend
|
@echo "# nothing" > ./ldepend
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef DJDIR
|
|
||||||
depend:
|
|
||||||
echo $(THIS_SRCS) > __tmp.1
|
|
||||||
$(MMKDEP) @__tmp.1 > ./ldepend
|
|
||||||
$(RM) __tmp.1
|
|
||||||
else
|
|
||||||
depend:
|
depend:
|
||||||
$(MMKDEP) $(THIS_SRCS) > ./ldepend
|
$(MMKDEP) $(THIS_SRCS) > ./ldepend
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(wildcard ./ldepend),)
|
ifeq ($(wildcard ./ldepend),)
|
||||||
check_ldepend:
|
check_ldepend:
|
||||||
|
@ -6,5 +6,5 @@ ifdef ON_MINGW
|
|||||||
else
|
else
|
||||||
../mks $(OUTFILE) < ../tmp_make > tmp_make.ars
|
../mks $(OUTFILE) < ../tmp_make > tmp_make.ars
|
||||||
endif
|
endif
|
||||||
ar -M < tmp_make.ars
|
kos32-ar -M < tmp_make.ars
|
||||||
$(RM) tmp_make.ars
|
$(RM) tmp_make.ars
|
||||||
|
@ -2,17 +2,14 @@ include $(MENUETDEV)/osrules.mak
|
|||||||
|
|
||||||
.SUFFIXES: .asm;
|
.SUFFIXES: .asm;
|
||||||
|
|
||||||
OBJS = crt0.o
|
OBJS = crt0.o crt0_dynstack.o
|
||||||
|
|
||||||
all: $(OBJS)
|
all: $(OBJS)
|
||||||
|
|
||||||
ifdef ON_WINDOWS
|
crt0.o: crt0_coff.asm
|
||||||
crt0.o: crt0_$(STUBFMT).asm
|
fasm crt0_coff.asm crt0.o
|
||||||
fasm crt0_$(STUBFMT).asm crt0.o
|
crt0_dynstack.o: crt0_coff_dynstack.asm
|
||||||
else
|
fasm crt0_coff_dynstack.asm crt0_dynstack.o
|
||||||
crt0.o: crt0_$(STUBFMT)_nounderscores.asm
|
|
||||||
fasm crt0_$(STUBFMT)_nounderscores.asm crt0.o
|
|
||||||
endif
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(OBJS)
|
$(RM) $(OBJS)
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
CATCH_NULL_CALL = 0
|
|
||||||
|
|
||||||
format ELF
|
|
||||||
section '.text' executable
|
|
||||||
public start
|
|
||||||
EXTRN _edata
|
|
||||||
EXTRN ___menuet__app_param_area
|
|
||||||
EXTRN ___menuet__app_path_area
|
|
||||||
EXTRN ___crt1_startup
|
|
||||||
start:
|
|
||||||
public ___menuet__app_header
|
|
||||||
public ___menuet__memsize
|
|
||||||
___menuet__app_header:
|
|
||||||
db 'MENUET01'
|
|
||||||
dd 0x01
|
|
||||||
if CATCH_NULL_CALL
|
|
||||||
dd do_start
|
|
||||||
else
|
|
||||||
dd ___crt1_startup
|
|
||||||
end if
|
|
||||||
dd _edata
|
|
||||||
___menuet__memsize:
|
|
||||||
dd 0x400000
|
|
||||||
dd app_stack
|
|
||||||
dd ___menuet__app_param_area
|
|
||||||
dd ___menuet__app_path_area
|
|
||||||
|
|
||||||
if CATCH_NULL_CALL
|
|
||||||
do_start:
|
|
||||||
mov byte [0], 0xE9
|
|
||||||
mov dword [1], _libc_null_call-5
|
|
||||||
call ___crt1_startup
|
|
||||||
; Handle exit if __crt1_startup returns (shouldn't happen)
|
|
||||||
mov eax,-1
|
|
||||||
int 0x40
|
|
||||||
end if
|
|
||||||
|
|
||||||
if CATCH_NULL_CALL
|
|
||||||
EXTRN ___libc_null_call
|
|
||||||
|
|
||||||
_libc_null_call:
|
|
||||||
push eax
|
|
||||||
push ebx
|
|
||||||
push ecx
|
|
||||||
push edx
|
|
||||||
push esi
|
|
||||||
push edi
|
|
||||||
push ebp
|
|
||||||
call ___libc_null_call
|
|
||||||
mov eax,-1
|
|
||||||
int 0x40
|
|
||||||
end if
|
|
||||||
|
|
||||||
section '.bss' writeable
|
|
||||||
rd 0x20000
|
|
||||||
app_stack:
|
|
@ -1,56 +0,0 @@
|
|||||||
CATCH_NULL_CALL = 0
|
|
||||||
|
|
||||||
format ELF
|
|
||||||
section '.text' executable
|
|
||||||
public start
|
|
||||||
EXTRN edata
|
|
||||||
EXTRN __menuet__app_param_area
|
|
||||||
EXTRN __menuet__app_path_area
|
|
||||||
EXTRN __crt1_startup
|
|
||||||
start:
|
|
||||||
public __menuet__app_header
|
|
||||||
public __menuet__memsize
|
|
||||||
__menuet__app_header:
|
|
||||||
db 'MENUET01'
|
|
||||||
dd 0x01
|
|
||||||
if CATCH_NULL_CALL
|
|
||||||
dd do_start
|
|
||||||
else
|
|
||||||
dd __crt1_startup
|
|
||||||
end if
|
|
||||||
dd edata
|
|
||||||
__menuet__memsize:
|
|
||||||
dd 0x400000
|
|
||||||
dd app_stack
|
|
||||||
dd __menuet__app_param_area
|
|
||||||
dd __menuet__app_path_area
|
|
||||||
|
|
||||||
if CATCH_NULL_CALL
|
|
||||||
do_start:
|
|
||||||
mov byte [0], 0xE9
|
|
||||||
mov dword [1], _libc_null_call-5
|
|
||||||
call __crt1_startup
|
|
||||||
; Handle exit if __crt1_startup returns (shouldn't happen)
|
|
||||||
mov eax,-1
|
|
||||||
int 0x40
|
|
||||||
end if
|
|
||||||
|
|
||||||
if CATCH_NULL_CALL
|
|
||||||
EXTRN __libc_null_call
|
|
||||||
|
|
||||||
_libc_null_call:
|
|
||||||
push eax
|
|
||||||
push ebx
|
|
||||||
push ecx
|
|
||||||
push edx
|
|
||||||
push esi
|
|
||||||
push edi
|
|
||||||
push ebp
|
|
||||||
call __libc_null_call
|
|
||||||
mov eax,-1
|
|
||||||
int 0x40
|
|
||||||
end if
|
|
||||||
|
|
||||||
section '.bss' writeable
|
|
||||||
rd 4096*4
|
|
||||||
app_stack:
|
|
Loading…
Reference in New Issue
Block a user