Changeset 156
- Timestamp:
- May 16, 2003, 9:27:59 AM (22 years ago)
- Location:
- trunk/src/emx
- Files:
-
- 8 added
- 2 deleted
- 39 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/Makefile
-
Property cvs2svn:cvs-rev
changed from
1.9
to1.10
r155 r156 7 7 # 8 8 # Author: Andrew Zabolotny <zap@cobra.ru> 9 # $Id$ 9 10 # 10 11 # All Rights Reserved … … 67 68 # Linker flags 68 69 LDFLAGS = -Zmt $(LDFLAGS.$(MODE)) $(LDFLAGS.KIND) 70 LDFLAGS.DLL = $(LDFLAGS) -Zdll 69 71 # Linker flags for different build modes 70 72 LDFLAGS.opt = -s … … 76 78 LDFLAGS.KIND = $(foreach x,$(subst -, ,$(firstword $(subst /, ,$(subst $.,,$@)))),$(LDFLAGS.$x)) 77 79 # How to link a .exe file 78 DO.LINK.exe = $(LD) $(strip $(LDFLAGS) $1) -o $@ $(^O) $(^DEF) $(^LIB) 80 DO.LINK.exe = $(LD) $(strip $(LDFLAGS) $(filter-out -l%,$1)) -o $@ $(^O) $(^LIB) $(filter -l%,$1) 81 # How to link a .dll file 82 DO.LINK.dll = $(LD) $(strip $(LDFLAGS.DLL) $(filter-out -l%,$1)) -o $@ $(^O) $(^DEF) $(^LIB) $(filter -l%,$1) 83 84 # emxbind tool 85 EMXBIND = $(if $(wildcard $./$(TOOLFMT)/emxbind$E),$.$(TOOLFMT)/)emxbind$E 86 # emxbind flags 87 EMXBINDFLAGS = -q $(EMXBINDFLAGS.$(MODE)) 88 EMXBINDFLAGS.opt = -s 89 EMXBINDFLAGS.dbg = 90 # Flags for emxbind 91 DO.EMXBIND = $(EMXBIND) $(EMXBINDFLAGS) -o $@ $1 79 92 80 93 # The macro assembler … … 87 100 AR = $(if $(findstring .lib,$@),emxomf)ar 88 101 ARFLAGS = crs 89 DO.LIBRARY = $(AR) $(ARFLAGS) $@ $(^O) 102 DO.LIBRARY = $(call RM,$@); $(AR) $(ARFLAGS)$1 $@ $(^O) 103 104 # The tool to extract exports from object files and archives 105 EMXEXP = $(if $(wildcard $./$(TOOLFMT)/emxexp$E),$.$(TOOLFMT)/)emxexp$E 90 106 91 107 # The tool to create import libraries 92 IMPLIB = $(if $(wildcard $(IMPLIB.BUILT)),$(IMPLIB.BUILT),emximp$E) 93 IMPLIB.BUILT = $./$(TOOLFMT)/emximp$E 94 IMPLIBFLAGS.aout.prof = -m 95 IMPLIBFLAGS.omf = 96 IMPLIBFLAGS.KIND = $(foreach x, $(subst -, ,$(firstword $(subst /, ,$(subst $.,,$@)))) \ 97 $(subst -,.,$(firstword $(subst /, ,$(subst $.,,$@)))),$(IMPLIBFLAGS.$x)) 98 DO.IMPLIB = $(IMPLIB) $(IMPLIBFLAGS.KIND) -o $@ $1 108 IMPLIB = $(if $(wildcard $./$(TOOLFMT)/emximp$E),$.$(TOOLFMT)/)emximp$E 109 IMPLIBFLAGS.prof = -m 110 IMPLIBFLAGS.KIND = $(foreach x,$(subst -, ,$(firstword $(subst /, ,$(subst $.,,$@)))),$(IMPLIBFLAGS.$x)) 111 DO.IMPLIB = $(IMPLIB) -o $@ $(strip $1 $(IMPLIBFLAGS.KIND)) $(^I)\ 112 $(if $(^O),$(NL)$(AR) rs $@ $(^O)) 99 113 100 114 # How to create dependencies … … 112 126 # How to filter just the object files from $^ 113 127 ^O = $(filter %.o,$^) 128 # Just the .imp files from $^ 129 ^I = $(filter %.imp,$^) 114 130 # How to filter just the .def files from $^ 115 131 ^DEF = $(filter %.def,$^) … … 177 193 178 194 #------------ Submakefiles ------------ 179 SUBMAK := $(wildcard src/*/*.smak)195 SUBMAK := version.smak $(wildcard src/*/*.smak) 180 196 181 197 # Include all submakefiles … … 189 205 help: 190 206 @$(call ECHO,$(SEP)) 191 @$(call ECHO,Welcome to GNU C for OS/2 runtime build system!) 207 @$(call ECHO,Welcome to $(PACKAGE) build system!) 208 @$(call ECHO,$(COPYRIGHT)) 192 209 @$(call ECHO,To build something, type 'make {target} {vars}', where {target} is one of:) 193 210 @$(call ECHO, all - build all available modules) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/build.txt
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 96 96 97 97 .MDEP - (optional) module dependencies. This is useful if current module 98 requires another module to be built first (e.g. a library). 98 requires another module to be built first (e.g. a library). It usually 99 contains the name of another module (e.g. .MDEP := os2). 99 100 100 101 .TARGET - The name of target (e.g. executable or library file name without dir). -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/comend.smak
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 4 4 # Clear local variables so that we don't incidentally 5 5 # get a wrong value in a different module 6 ifndef .TKEEP 6 7 .OBJS := 7 8 .DIRS := 8 9 .TARG := 9 10 # Clear all target-specific variables11 ifndef .TKEEP12 10 .TARGET := 13 11 .TKIND := … … 16 14 .TCF := 17 15 .TDEP := 16 .IMPS := 18 17 endif 19 18 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/common.smak
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r155 r156 28 28 .TKIND := $(.tmp) 29 29 .TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/ 30 .DIRS := 30 31 31 32 ifdef .TARGET … … 33 34 # .TARG is same as .TARGET except that it has a st/ or mt/ prefix 34 35 .TARG := $(.TKIND.DIR)$(.TARGET) 36 .DIRS += $.$(.TKIND.DIR) 35 37 36 38 ifdef .INSDIR … … 61 63 62 64 .OBJS := $(addprefix $.,$(call OBJFILE,$(.TSRC))) 63 .DIRS := $(sort $(dir $(.OBJS))) 64 TARGDIRS += $(.DIRS) 65 .DIRS += $(sort $(dir $(.OBJS))) 65 66 66 67 # Remove the names of files for which we already generated build rules … … 97 98 endif # def .TSRC 98 99 100 # Add target directories to module dependencies and to overall list of dirs 101 ifneq ($(.DIRS),) 102 TARGDIRS += $(.DIRS) 103 ifdef .MODULE 104 $(.MODULE): $(.DIRS) 105 endif # def .MODULE 106 endif # neq ($(.DIRS),) 107 108 # Add the target to the list of module dependencies 99 109 ifdef .TARGET 100 ifdef .MODULE 101 $(.MODULE): $(.DIRS) $.$(.TARG) 102 endif 103 endif 110 $(.MODULE): $.$(.TARG) 111 endif # def .TARGET 104 112 105 113 # Replace the special sequence in .TDEP @O@ with $.$(.TKIND.DIR) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/os2thunk.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 19 19 #define _THUNK_PASCAL_FLAT(ARG) _THUNK_PASCAL_LONG (_emx_32to16 (ARG)) 20 20 #define _THUNK_PASCAL_FAR16(ARG) _THUNK_PASCAL_LONG (ARG) 21 #define _THUNK_PASCAL_FUNCTION(FUN) _16_##FUN21 #define _THUNK_PASCAL_FUNCTION(FUN) APIENTRY _16_##FUN 22 22 #define _THUNK_PASCAL_CALL(FUN) _emx_thunk1 (_tb, (void *)(_16_##FUN)); }) 23 23 #define _THUNK_PASCAL_CALLI(FUN) _emx_thunk1 (_tb, (void *)(FUN)); }) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/mklib.smak
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 10 10 $(call FECHO,_@, $$(DO.LIBRARY))$(NL) 11 11 12 # The rule for building the OMF variant of library from a.out format 13 ifneq ($(findstring aout,$(.TKIND)),) 14 # Remove the .a suffix from library name 15 .TARGET := $(patsubst %$A,%,$(.TARGET)) 16 # Replace 'aout' with 'omf' in .TKIND 17 .TKIND := $(subst aout,omf,$(.TKIND)) 18 # Compute the new output file directory 19 .TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/ 20 # Append the .lib suffix to target name 21 .TARGET := $(.TARGET)$A 22 # Compute the name of target file to build 23 .TARG@OMF := $(.TKIND.DIR)$(.TARGET) 24 # The rule for building the xxx@omf variant of target 25 .PHONY: $(.MODULE)@omf 26 MODULES += $(.MODULE)@omf 27 DO.INSTALL += $(call CP,$.$(.TARG@OMF),$(INS)$(.INSDIR)$(.TARGET))$(NL) 28 .DIRS@OMF := $(dir $.$(.TARG@OMF)) 29 TARGDIRS += $(.DIRS@OMF) 30 $(.MODULE)@omf: $(.MODULE) $(.DIRS@OMF) $.$(.TARG@OMF) 31 # bird: Add a dependency rule to help make 32 RULES += \ 33 $(call FECHO,_@,$.$(.TARG@OMF): $.$(.TARG))$(NL) 34 endif # neq ($(findstring aout,$(.TKIND)),) 35 12 include mkomflib.smak 36 13 include comend.smak -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxbind/emxbind.h
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 488 488 489 489 void build_sym_hash_table (void); 490 struct nlist *find_symbol (const char *name , int underscore);490 struct nlist *find_symbol (const char *name); 491 491 void sort_fixup (void); 492 492 void create_fixup (const struct fixup *fp, int neg); -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxbind/emxbind.smak
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 8 8 .TSRC := $(wildcard src/emxbind/*.c) 9 9 .TLDF := -lmoddef 10 .TKEEP := 1 10 11 include mkexe.smak 12 13 .TARG := $(TOOLFMT)/os2stub.bin 14 DO.INSTALL += $(call CP,$.$(.TARG),$(INS)$(.INSDIR))$(NL) 15 16 emxbind: $.$(.TARG) 17 18 $.$(.TARG): src/emxbind/os2stub.bin 19 $(call CP,$< $@) 20 21 include comend.smak -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxbind/export.c
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 85 85 put_grow (table, &ord16, 2); 86 86 } 87 88 #if 089 90 /* Find the symbol NAME in the a.out symbol table of the input91 executable. If UNDERSCORE is true, an underscore is prepended to92 NAME. If the symbol is found, find_symbol() returns a pointer to93 the symbol table entry. Otherwise, NULL is returned. */94 95 static struct nlist *find_symbol (const char *name, int underscore)96 {97 int i, j, n, len, ok, t;98 const byte *s;99 100 i = 4; len = strlen (name);101 while (i < a_in_str_size)102 {103 ok = TRUE; s = name;104 if (underscore)105 {106 if (str_image[i] == '_')107 ++i;108 else109 ok = FALSE;110 }111 if (ok && memcmp (name, str_image+i, len+1) == 0)112 {113 n = a_in_h.sym_size / sizeof (struct nlist);114 if (underscore) --i;115 for (j = 0; j < n; ++j)116 if (sym_image[j].string == i)117 {118 t = sym_image[j].type & ~N_EXT;119 if (t == N_TEXT || t == N_DATA || t == N_BSS)120 return sym_image+j;121 }122 }123 i += strlen (str_image+i) + 1;124 }125 return NULL;126 }127 128 #endif129 87 130 88 /* Compare two entries of an int array for qsort(). This function is … … 190 148 for (i = 0; i < export_len; ++i) 191 149 { 192 nl = find_symbol (export_data[i].internalname , TRUE);150 nl = find_symbol (export_data[i].internalname); 193 151 if (nl == NULL) 194 152 error ("symbol %s undefined (EXPORTS)", export_data[i].internalname); -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxbind/fixup.c
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 98 98 99 99 100 /* Find the symbol NAME in the a.out symbol table of the input 101 executable. If UNDERSCORE is true, an underscore is prepended to 102 NAME. If the symbol is found, find_symbol() returns a pointer to 103 the symbol table entry. Otherwise, NULL is returned. */ 104 105 struct nlist *find_symbol (const char *name, int underscore) 100 /* Find the symbol NAME in the a.out symbol table of the input executable. 101 If the symbol is found, find_symbol() returns a pointer to the symbol 102 table entry. Otherwise, NULL is returned. */ 103 104 struct nlist *find_symbol (const char *name) 106 105 { 107 106 int j, len; … … 109 108 110 109 len = strlen (name); 111 if (underscore)112 {113 name1 = alloca (len + 2);114 ((char *)name1)[0] = '_';115 memcpy (((char *)name1) + 1, name, len + 1);116 }117 110 118 111 for (j = sym_hash_table[sym_hash (name1)]; j != -1; … … 499 492 } 500 493 mod_idx = find_module (mod, NO_ADDR); 501 if (memcmp ("_ _16_", name1, 5) == 0)494 if (memcmp ("_16_", name1, 4) == 0) 502 495 { 503 496 if (r->pcrel) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxbind/map.c
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 160 160 { 161 161 int i; 162 163 if (*sym_name == '_') ++sym_name;164 162 165 163 /* TODO: Use hashing. */ … … 218 216 grow_map_sym_table (); 219 217 name = sym_image[i].string + str_image; 220 if (*name == '_') ++name;221 218 map_sym_table[map_sym_count].seg = seg; 222 219 map_sym_table[map_sym_count].addr = addr; -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxexp/emxexp.c
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 206 206 { 207 207 name = str_ptr + sym_ptr[i].string; 208 if (*name == '_')209 ++name;210 208 export (name); 211 209 } … … 215 213 { 216 214 name = str_ptr + sym_ptr[i].string; 217 if (*name == '_')218 ++name;219 215 export_bss (name); 220 216 } -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxload/emxload.smak
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 1 1 .MODULE := emxload 2 2 .MDESC := Fast loader daemon 3 .MDEP := os2 3 4 .INSDIR := bin/ 4 5 … … 6 7 .TKIND := $(TOOLFMT) 7 8 .TSRC := $(wildcard src/emxload/*.c) 8 .T LDF :=9 .TDEP := @O@os2$A 9 10 include mkexe.smak -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxomf/emxomf.c
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 1083 1083 name = str_ptr + sym_ptr[i].string; 1084 1084 sym_more[i].index = sym_index++; 1085 if (memcmp (name, "_ _16_", 5) == 0)1085 if (memcmp (name, "_16_", 4) == 0) 1086 1086 sym_more[i].flags |= SF_FAR16; 1087 1087 add_extdef (&started, name); … … 1334 1334 name = str_ptr + sym_ptr[i].string; 1335 1335 sym_more[i].index = sym_index++; 1336 if (memcmp (name, "_ _16_", 5) == 0)1336 if (memcmp (name, "_16_", 4) == 0) 1337 1337 sym_more[i].flags |= SF_FAR16; 1338 1338 size = sym_ptr[i].value; -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxomf/emxomf.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := a.out to OMF object file conversion utility 3 3 .INSDIR := bin/ 4 .MDEP := omflib@omf moddef@omf 4 .MDEP := omflib@omf moddef@omf os2 5 5 6 6 .TARGET := emxomf.exe … … 19 19 .TKIND := $(TOOLFMT) 20 20 .TSRC := src/emxomf/emxomfld.c 21 .TDEP := @O@moddef$A 21 .TDEP := @O@moddef$A @O@os2$A 22 22 include mkexe.smak 23 23 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/ld/ld.c
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r155 r156 82 82 83 83 #define FIXSETBUG 84 #ifdef _System 85 extern int _System DosCopy (char *, char *, int); 86 #else 87 extern int DosCopy (char *, char *, int); 88 #endif 84 /* gcc will warn on __attribute__((system)) but still will compile */ 85 extern int __attribute__((system)) DosCopy (char *, char *, int); 89 86 #endif /* EMX */ 90 87 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/ld/ld.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 3 3 .MODULE := ld 4 4 .MDESC := Old GNU ld, used for a.out linking 5 .MDEP := os2 5 6 .INSDIR := bin/ 6 7 … … 9 10 .TSRC := $(wildcard src/ld/*.c) 10 11 .TCF := -DEMX 12 .TDEP := @O@os2$A 11 13 .TLDF := -liberty 12 14 include mkexe.smak -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/alias/alias.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 8 8 .MODULE := alias 9 9 .MDESC := A library of underscored aliases for most C library functions 10 .MDEP := libc sysapp10 .MDEP := libc app 11 11 .TKIND := aout 12 12 .INSDIR := lib/ 13 .TARGET := c_alias $A13 .TARGET := c_alias.a 14 14 include common.smak 15 15 … … 25 25 # For every aliased function create a .o file containing the alias 26 26 # and add it to the target library. 27 $.$(.TARG): $.$(.TKIND.DIR)c.a $.$(.TKIND.DIR) sys.a $.$(.TKIND.DIR)c_app.a27 $.$(.TARG): $.$(.TKIND.DIR)c.a $.$(.TKIND.DIR)c_app.a 28 28 $(call RM,$@) 29 29 @$(foreach x,$(ALIAS.FUNCS),\ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/alias/aliasfuncs.awk
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 1 1 # 2 # A simple script to collect all symbols from c.a and sys.a that needs2 # A simple script to collect all symbols from c.a and c_app.a that needs 3 3 # aliasing. All symbols beginning with _std_ get an alias without _std_ 4 4 # and an alias starting with just a '_' instead of _std_. … … 36 36 BEGIN { 37 37 gulp("out/dbg/aout/c.a"); 38 gulp("out/dbg/aout/sys.a");39 38 gulp("out/dbg/aout/c_app.a"); 40 39 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/app/app.smak
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 6 6 7 7 .TKIND := aout 8 .TARGET := c_app $A9 .TSRC.386 := $(wildcard src/lib/app/386/*.s)8 .TARGET := c_app.a 9 .TSRC.386 := src/lib/app/386/crt2.s 10 10 .TSRC := $(.TSRC.$(CPU)) $(wildcard src/lib/app/*.c) 11 11 .TCF.src/lib/app/stdio.c := -D_NFILES=40 … … 15 15 include mklib.smak 16 16 17 # Save the list of object files to link them later into libc.dll 18 LIBC.DLL.OBJS += $(.OBJS) 19 17 20 .TKIND := aout prof 18 .TARGET := c_app_p $A21 .TARGET := c_app_p.a 19 22 include mklib.smak -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/app/stdio.c
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 125 125 void _exit_streams (void) 126 126 { 127 _flushall ();127 flushall (); 128 128 _rmtmp (); 129 129 } -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/end/end.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := The C runtime library that should be linked last 3 3 4 .TARGET := end.lib 4 5 .TKIND := omf 5 .TARGET := end$A6 6 .TSRC.386 := $(wildcard src/lib/end/386/*.asm) 7 7 .TSRC := $(.TSRC.$(CPU)) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/io/io.smak
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r155 r156 18 18 include comend.smak 19 19 20 # bird: addeddependency to help make make omf version.20 # Additional dependency to help make make omf version. 21 21 $.omf/src/lib/io/386/binmode.obj: $.aout/src/lib/io/386/binmode.o -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/libc.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 4 4 # Creates four versions of object file name for all kinds of outputs. 5 5 .MVER = $(foreach x,aout aout-prof,$.$x/src/lib/$1) 6 7 # This is the list of object files for libc.dll (appended by some submakefiles) 8 LIBC.DLL.OBJS := 6 9 7 10 # First of all, include all second-level libc submakefiles … … 14 17 .MDESC := The C library 15 18 16 .T KIND := aout17 .T ARGET := c$A19 .TARGET := c_p.a 20 .TKIND := aout prof 18 21 .TSRC := $(libc.TSRC.$(CPU)) $(libc.TSRC) 19 22 .TDEP := $(libc.TDEP.$(CPU)) $(libc.TDEP) … … 22 25 include mklib.smak 23 26 24 .TKIND := aout prof 25 .TARGET := c_p$A 27 # Build c.a last since LIBC.DLL needs .OBJS from c.a 28 .TARGET := c.a 29 .TKIND := aout 30 .TKEEP := 1 26 31 include mklib.smak 27 32 33 #------------------------------------------------------ 34 # Now define the rules for building libc$(VERSION).dll 35 #------------------------------------------------------ 36 LIBC.DLL = $.aout/libc$(VH)$(VM).dll 37 38 DO.HELP.MODULES += $(call ECHO, libc-dll - The dynamic C library (.dll))$(NL) 39 40 DO.INSTALL += $(call CP,$(LIBC.DLL),$(INS)dll/)$(NL) 41 INSDIRS += $(INS)dll/ 42 43 .PHONY: libc-dll 44 all: libc-dll 45 libc-dll: emxbind emxexp app alias libc os2 $(LIBC.DLL) 46 47 $(LIBC.DLL): $.aout/src/lib/startup/386/dll0.o $(.OBJS) $(.DEPS) \ 48 $(LIBC.DLL.OBJS) $.aout/libc.def 49 $(LD) $(LDFLAGS.DLL) -nostdlib -o __libc__ $^ \ 50 -L$.aout -los2 -lgcc -lc_alias 51 $(call DO.EMXBIND,-d$.aout/libc.def __libc__) 52 @$(call RM,__libc__) 53 54 $.aout/libc.def: $.aout/c.a $.aout/c_app.a 55 $(call RM,$@) 56 @$(call FECHO,$@,LIBRARY libc$(VH)$(VM)) 57 @$(call FECHO,$@,DESCRIPTION \"GNU C runtime library version $(VERSION)\") 58 @$(call FECHO,$@,EXPORTS) 59 $(EMXEXP) -u $^ | sed -e "/^$$/d" -e "/^ *;/d" | sort -d >>$@ 60 28 61 # Forget temporary variables 62 include comend.smak 29 63 .MVER := 30 64 libc.TSRC.$(CPU) := -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/moddef/moddef.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := A library for working with .DEF files 3 3 4 .TARGET := moddef.a 4 5 .TKIND := aout 5 .TARGET := moddef$A6 6 .TSRC := $(wildcard src/lib/moddef/*.c) 7 7 .INSDIR = lib/ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/omflib/omflib.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := A library for reading/writing OMF object files 3 3 4 .TARGET := omflib.a 4 5 .TKIND := aout 5 .TARGET := omflib$A6 6 .TSRC := $(wildcard src/lib/omflib/*.c) 7 7 .INSDIR = lib/ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/os2_386/code2.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 3 3 #include <emx/asm386.h> 4 4 5 .globl _DosGetMessage5 .globl DosGetMessage 6 6 .globl __msgseg32 7 7 … … 14 14 .align 2, 0x90 15 15 16 _DosGetMessage:16 DosGetMessage: 17 17 PROFILE_NOFRAME 18 18 popl %ecx /* return address */ 19 19 pushl $__msgseg32 20 20 pushl %ecx 21 jmp _DosTrueGetMessage21 jmp DosTrueGetMessage 22 22 23 23 L_tab: .short 0x0000 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/os2_386/code3.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 3 3 #include <emx/asm386.h> 4 4 5 .globl _DosQueryMessageCP5 .globl DosQueryMessageCP 6 6 7 _DosQueryMessageCP:7 DosQueryMessageCP: 8 8 PROFILE_NOFRAME 9 9 pushl 0(%esp) … … 14 14 xchgl 8(%esp), %eax 15 15 movl %eax, 4(%esp) 16 jmp _DosIQueryMessageCP16 jmp DosIQueryMessageCP -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/startup/startup.smak
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r155 r156 34 34 $(call DO.AOUT2OMF,-m__text) 35 35 36 # bird:dependencies to help stupid make.36 # Additional dependencies to help stupid make. 37 37 $.omf/src/lib/startup/mcrt0.obj: $.aout/src/lib/startup/mcrt0.o 38 38 $.omf/src/lib/startup/gcrt0.obj: $.aout/src/lib/startup/gcrt0.o -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/386/thunk0.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 6 6 .p2align 2 7 7 __emx_32to16: movl 4(%esp),%eax 8 jmp _DosFlatToSel8 jmp DosFlatToSel 9 9 10 10 .p2align 2 11 11 __emx_16to32: movl 4(%esp),%eax 12 jmp _DosSelToFlat12 jmp DosSelToFlat -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/386/thunk1.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 68 68 69 69 movl $Lthunk16_call, %eax 70 call _DosFlatToSel70 call DosFlatToSel 71 71 movzwl %ax, %ecx # %ecx = offset 72 72 shrl $16, %eax # %eax = segment … … 75 75 76 76 movl %esp, %eax 77 call _DosFlatToSel77 call DosFlatToSel 78 78 movzwl %ax, %ecx # %ecx = offset 79 79 shrl $16, %eax # %eax = segment -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/386/unwind.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 10 10 pushl $L_cont 11 11 pushl %eax 12 call _DosUnwindException12 call DosUnwindException 13 13 L_cont: addl $3*4, %esp 14 14 ret -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/sys.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 1 # Build two kinds of library: aout and aout-profile. 2 # The OMF libraries will be derived from them. 1 libc.TSRC.386 += $(wildcard src/lib/sys/386/*.s) 2 libc.TSRC += $(wildcard src/lib/sys/*.c) 3 3 4 .MODULE := sys5 .MDESC := System-dependent libc backend6 7 .TKIND := aout8 .TARGET := sys$A9 .TSRC.386 := $(wildcard src/lib/sys/386/*.s)10 .TSRC := $(.TSRC.$(CPU)) $(wildcard src/lib/sys/*.c)11 4 .TCF.src/lib/sys/heapsize.c := -DHEAPSIZE=0x2000000 12 .INSDIR = lib/13 .TKEEP := 114 include mklib.smak15 16 .TKIND := aout prof17 .TARGET := sys_p$A18 include mklib.smak -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/libend/end.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := The C runtime library that should be linked last 3 3 4 .TARGET := end.lib 4 5 .TKIND := omf 5 .TARGET := end$A6 6 .TSRC.386 := $(wildcard src/lib/end/386/*.asm) 7 7 .TSRC := $(.TSRC.$(CPU)) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/libmoddef/moddef.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := A library for working with .DEF files 3 3 4 .TARGET := moddef.a 4 5 .TKIND := aout 5 .TARGET := moddef$A6 6 .TSRC := $(wildcard src/lib/moddef/*.c) 7 7 .INSDIR = lib/ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/libomflib/omflib.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 2 2 .MDESC := A library for reading/writing OMF object files 3 3 4 .TARGET := omflib.a 4 5 .TKIND := aout 5 .TARGET := omflib$A6 6 .TSRC := $(wildcard src/lib/omflib/*.c) 7 7 .INSDIR = lib/ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/libos2/code2.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 3 3 #include <emx/asm386.h> 4 4 5 .globl _DosGetMessage5 .globl DosGetMessage 6 6 .globl __msgseg32 7 7 … … 14 14 .align 2, 0x90 15 15 16 _DosGetMessage:16 DosGetMessage: 17 17 PROFILE_NOFRAME 18 18 popl %ecx /* return address */ 19 19 pushl $__msgseg32 20 20 pushl %ecx 21 jmp _DosTrueGetMessage21 jmp DosTrueGetMessage 22 22 23 23 L_tab: .short 0x0000 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/libos2/code3.s
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r155 r156 3 3 #include <emx/asm386.h> 4 4 5 .globl _DosQueryMessageCP5 .globl DosQueryMessageCP 6 6 7 _DosQueryMessageCP:7 DosQueryMessageCP: 8 8 PROFILE_NOFRAME 9 9 pushl 0(%esp) … … 14 14 xchgl 8(%esp), %eax 15 15 movl %eax, 4(%esp) 16 jmp _DosIQueryMessageCP16 jmp DosIQueryMessageCP -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/regexp/regexp.smak
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r155 r156 3 3 .INSDIR := lib/ 4 4 5 .TARGET := regexp$A 5 .TARGET := regexp.a 6 .TKIND := aout 6 7 .TSRC := $(wildcard src/regexp/*.c) 7 8 include mklib.smak -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.