demake 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/bin/demake +199 -6
  3. data/lib/apps/example/Makefile +0 -0
  4. data/lib/apps/example/demake/auto_bits.rb +59 -0
  5. data/lib/apps/example/demake/auto_list.rb +60 -0
  6. data/lib/apps/example/src/Makefile +6 -0
  7. data/lib/apps/example/src/goodbye.c +0 -0
  8. data/lib/apps/example/src/hello.c +0 -0
  9. data/lib/apps/example/src/string/string.c +0 -0
  10. data/lib/apps/example/src/string/string.h +0 -0
  11. data/lib/apps/oreo/Makefile +0 -0
  12. data/lib/apps/oreo/src/Makefile +6 -0
  13. data/lib/apps/oreo/src/defines.h +0 -0
  14. data/lib/apps/oreo/src/fast_read_file.h +0 -0
  15. data/lib/apps/oreo/src/oreo.c +0 -0
  16. data/lib/apps/oreo/src/typedefs.h +0 -0
  17. data/lib/data/libsrc/auto_bits.c +41 -0
  18. data/lib/data/libsrc/auto_bits.h +212 -4
  19. data/lib/data/libsrc/auto_bits.rb +9 -0
  20. data/lib/data/libsrc/auto_list.rb +9 -0
  21. data/lib/data/libsrc/auto_string.c +300 -0
  22. data/lib/data/libsrc/auto_string.h +1023 -0
  23. data/lib/data/libsrc/auto_string_clamp_test.c +52 -0
  24. data/lib/data/libsrc/base.h +0 -0
  25. data/lib/data/libsrc/cpu_mark_check.h +0 -0
  26. data/lib/data/libsrc/defines.h +29 -3
  27. data/lib/data/libsrc/fast_read_file.h +0 -0
  28. data/lib/data/libsrc/fast_sha2.h +0 -0
  29. data/lib/data/libsrc/memory_arena.c +32 -0
  30. data/lib/data/libsrc/memory_arena.h +345 -0
  31. data/lib/data/libsrc/memory_arena_test.c +173 -0
  32. data/lib/data/libsrc/parse_arguments.h +0 -0
  33. data/lib/data/libsrc/rb_library.c +0 -0
  34. data/lib/data/libsrc/simple_linked_list.c +42 -22
  35. data/lib/data/libsrc/simple_linked_list.h +140 -56
  36. data/lib/data/libsrc/typedefs.h +5 -3
  37. data/lib/to_plural.rb +126 -0
  38. metadata +24 -13
  39. data/lib/data/libsrc/simple_linked_list +0 -0
  40. data/lib/data/libsrc/smart_alloc.h +0 -45
@@ -1,36 +1,56 @@
1
1
  #include <stdio.h>
2
2
  #include <stdlib.h>
3
3
 
4
- #include "base.h"
5
4
  #define SIMPLE_DOUBLE_LINKED_LIST
6
5
  #define SIMPLE_LINKED_LIST_IMPLEMENTATION
7
6
  #include "simple_linked_list.h"
8
7
 
9
8
  i32 main(i32 argc, c8 *argv[])
10
9
  {
11
- struct simple_linked_list_s *head = NULL, *tail = NULL, *s = NULL;
10
+ struct simple_linked_list_data *head = NULL, *tail = NULL;
11
+ struct simple_linked_list_data *s1 = NULL, *s2;
12
12
  c8 *a = "a", *b = "b", *c = "c", *d = "d", *e = "e", *f = "f";
13
13
 
14
- head = s = calloc(1, sizeof(struct simple_linked_list_s));
15
- simple_linked_list_init(s, a);
16
- tail = s = calloc(1, sizeof(struct simple_linked_list_s));
17
- simple_linked_list_insert_after(head, s, b);
18
- s = calloc(1, sizeof(struct simple_linked_list_s));
19
- simple_linked_list_insert_after(tail, s, c);
20
- tail = s;
21
- s = calloc(1, sizeof(struct simple_linked_list_s));
22
- simple_linked_list_insert_after(tail, s, f);
23
- tail = s;
24
- s = calloc(1, sizeof(struct simple_linked_list_s));
25
- simple_linked_list_insert_before(tail, s, e);
26
- tail = s;
27
- s = calloc(1, sizeof(struct simple_linked_list_s));
28
- simple_linked_list_insert_before(tail, s, d);
14
+ head = s1 = calloc(1, sizeof(struct simple_linked_list_data));
15
+ simple_linked_list_init(s1, a);
16
+ tail = s1 = calloc(1, sizeof(struct simple_linked_list_data));
17
+ simple_linked_list_insert_after(head, s1, b);
18
+ s1 = calloc(1, sizeof(struct simple_linked_list_data));
19
+ simple_linked_list_insert_after(tail, s1, c);
20
+ tail = s1;
21
+ s1 = calloc(1, sizeof(struct simple_linked_list_data));
22
+ simple_linked_list_insert_after(tail, s1, f);
23
+ tail = s1;
24
+ s2 = calloc(1, sizeof(struct simple_linked_list_data));
25
+ simple_linked_list_insert_before(tail, s2, e);
26
+ s1 = calloc(1, sizeof(struct simple_linked_list_data));
27
+ simple_linked_list_insert_before(s2, s1, d);
29
28
 
30
- s = head;
31
- while(s) {
32
- if(s && s->value && s->value != NULL)
33
- printf("%s\n", (u8 *)s->value);
34
- s = s->next;
29
+ printf("head to tail:");
30
+ s1 = head;
31
+ while(s1) {
32
+ if(s1 && s1->value && s1->value != NULL)
33
+ printf(" %s", (c8 *)s1->value);
34
+ s1 = s1->next;
35
35
  }
36
+
37
+ printf("\ntail to head:");
38
+ s1 = tail;
39
+ while(s1) {
40
+ if(s1 && s1->value && s1->value != NULL)
41
+ printf(" %s", (c8 *)s1->value);
42
+ s1 = s1->previous;
43
+ }
44
+ printf("\n");
45
+
46
+ s1 = head;
47
+ while(s1) {
48
+ head = s1->next;
49
+ simple_linked_list_remove(s1);
50
+ free(s1);
51
+ s1 = head;
52
+ }
53
+ tail = head = s1 = s2 = NULL;
54
+
55
+ exit(0);
36
56
  }
@@ -8,84 +8,168 @@
8
8
 
9
9
  Public Functions:
10
10
 
11
+ static void simple_linked_list_init(struct simple_linked_list_data *s, void *value);
12
+
13
+ static void simple_linked_list_insert_after(struct simple_linked_list_data *position,
14
+ struct simple_linked_list_data *s, void *value);
15
+ static void simple_linked_list_insert_before(struct simple_linked_list_data *position,
16
+ struct simple_linked_list_data *s, void *value);
17
+
18
+ static void simple_linked_list_remove(struct simple_linked_list_data *s);
19
+
11
20
  */
12
21
 
13
22
  #ifndef SIMPLE_LINKED_LIST_H_Minaswan /* Prevent multiple inclusions */
14
- #define SIMPLE_LINKED_LIST_H_Minaswan
15
- #ifndef TYPEDEFS_H_Minaswan /* Header guard for typedefs.h */
23
+ #define SIMPLE_LINKED_LIST_H_Minaswan
24
+ #ifndef TYPEDEFS_H_Minaswan /* Prevents multiple inclusions */
16
25
  #define TYPEDEFS_H_Minaswan
26
+ #define TYPEDEFS_VERSION "0.1.0"
27
+ #include <stdint.h>
17
28
 
18
- #endif /* TYPEDEFS_H_Minaswan */
29
+ typedef uint8_t b8; /* Booleans */
30
+ typedef uint16_t b16;
31
+ typedef uint32_t b32;
32
+ typedef uint64_t b64;
19
33
 
20
- struct simple_linked_list_s {
21
- struct simple_linked_list_s *next;
22
- #ifdef SIMPLE_DOUBLE_LINKED_LIST
23
- struct simple_linked_list_s *previous;
24
- #endif
25
- void *value;
26
- };
34
+ typedef char c8; /* Characters */
35
+ typedef unsigned char uc8;
27
36
 
28
- /* Public Functions */
37
+ typedef uint8_t u8; /* Unsigned Numbers */
38
+ typedef uint16_t u16;
39
+ typedef uint32_t u32;
40
+ typedef uint64_t u64;
29
41
 
30
- #ifdef SIMPLE_LINKED_LIST_IMPLEMENTATION
31
- void simple_linked_list_init(struct simple_linked_list_s *s, void *value)
32
- {
33
- #ifdef SIMPLE_DOUBLE_LINKED_LIST
34
- s->previous = s->next = NULL;
35
- #endif
36
- s->value = value;
37
- }
42
+ typedef int8_t i8; /* Signed Numbers */
43
+ typedef int16_t i16;
44
+ typedef int32_t i32;
45
+ typedef int64_t i64;
38
46
 
39
- void simple_linked_list_insert_after(struct simple_linked_list_s *position,
40
- struct simple_linked_list_s *s, void *value)
41
- {
42
- s->value = value;
43
- s->next = position->next;
44
- #ifdef SIMPLE_DOUBLE_LINKED_LIST
45
- s->previous = position;
46
- if(position->next != NULL)
47
- position->next->previous = s;
48
- #endif
49
- position->next = s;
50
- }
47
+ typedef float f32; /* Floating Point Numbers */
48
+ typedef double f64;
49
+ #endif /* TYPEDEFS_H_Minaswan */
51
50
 
52
- void simple_linked_list_insert_before(struct simple_linked_list_s *position,
53
- struct simple_linked_list_s *s, void *value)
54
- {
55
- s->value = value;
56
- s->next = position;
51
+ struct simple_linked_list_data {
52
+ void *value;
53
+ struct simple_linked_list_data *next;
57
54
  #ifdef SIMPLE_DOUBLE_LINKED_LIST
58
- s->previous = position->previous;
59
- if(position->previous != NULL)
60
- position->previous->next = s;
61
- position->previous = s;
55
+ struct simple_linked_list_data *previous;
62
56
  #endif
63
- }
57
+ };
64
58
 
65
- #ifdef SIMPLE_DOUBLE_LINKED_LIST
66
- void simple_linked_list_remove(struct simple_linked_list_s *s)
67
- {
68
- if(s->previous)
69
- s->previous->next = s->next;
70
- if(s->next)
71
- s->next->previous = s->previous;
72
- s->previous = s->next = NULL;
73
- }
74
- #endif
59
+ /* Public Functions */
60
+ static void simple_linked_list_init(struct simple_linked_list_data *s, void *value);
61
+ static void simple_linked_list_insert_after(struct simple_linked_list_data *position,
62
+ struct simple_linked_list_data *s, void *value);
63
+ static void simple_linked_list_insert_before(struct simple_linked_list_data *position,
64
+ struct simple_linked_list_data *s, void *value);
65
+ static void simple_linked_list_remove(struct simple_linked_list_data *s);
75
66
 
67
+ #ifdef SIMPLE_LINKED_LIST_IMPLEMENTATION
68
+ static void simple_linked_list_init(struct simple_linked_list_data *s, void *value)
69
+ {
70
+ #ifdef SIMPLE_DOUBLE_LINKED_LIST
71
+ s->previous = s->next = NULL;
72
+ #endif
73
+ s->value = value;
74
+ }
75
+
76
+ static void simple_linked_list_insert_after(struct simple_linked_list_data *position,
77
+ struct simple_linked_list_data *s, void *value)
78
+ {
79
+ s->value = value;
80
+ s->next = position->next;
81
+ #ifdef SIMPLE_DOUBLE_LINKED_LIST
82
+ s->previous = position;
83
+ if(position->next != NULL)
84
+ position->next->previous = s;
85
+ #endif
86
+ position->next = s;
87
+ }
88
+
89
+ static void simple_linked_list_insert_before(struct simple_linked_list_data *position,
90
+ struct simple_linked_list_data *s, void *value)
91
+ {
92
+ s->value = value;
93
+ s->next = position;
94
+ #ifdef SIMPLE_DOUBLE_LINKED_LIST
95
+ s->previous = position->previous;
96
+ if(position->previous != NULL)
97
+ position->previous->next = s;
98
+ position->previous = s;
99
+ #endif
100
+ }
101
+
102
+ #ifdef SIMPLE_DOUBLE_LINKED_LIST
103
+ static void simple_linked_list_remove(struct simple_linked_list_data *s)
104
+ {
105
+ if(s->previous)
106
+ s->previous->next = s->next;
107
+ if(s->next)
108
+ s->next->previous = s->previous;
109
+ s->previous = s->next = NULL;
110
+ }
111
+ #endif
76
112
  #endif /* SIMPLE_LINKED_LIST_IMPLEMENTATION */
77
113
  #endif /* SIMPLE_LINKED_LIST_H_Minaswan */
78
114
 
79
115
  /*
80
116
  Example:
81
117
 
118
+ #include <stdio.h>
119
+ #include <stdlib.h>
120
+
121
+ #define SIMPLE_DOUBLE_LINKED_LIST
82
122
  #define SIMPLE_LINKED_LIST_IMPLEMENTATION
83
123
  #include "simple_linked_list.h"
84
124
 
85
- struct simple_linked_list_s s;
86
- c8 *a = "a", *b = "b", *c = "c";
87
-
88
- simple_linked_list_init(&s, a);
89
-
125
+ i32 main(i32 argc, c8 *argv[])
126
+ {
127
+ struct simple_linked_list_data *head = NULL, *tail = NULL;
128
+ struct simple_linked_list_data *s1 = NULL, *s2;
129
+ c8 *a = "a", *b = "b", *c = "c", *d = "d", *e = "e", *f = "f";
130
+
131
+ head = s1 = calloc(1, sizeof(struct simple_linked_list_data));
132
+ simple_linked_list_init(s1, a);
133
+ tail = s1 = calloc(1, sizeof(struct simple_linked_list_data));
134
+ simple_linked_list_insert_after(head, s1, b);
135
+ s1 = calloc(1, sizeof(struct simple_linked_list_data));
136
+ simple_linked_list_insert_after(tail, s1, c);
137
+ tail = s1;
138
+ s1 = calloc(1, sizeof(struct simple_linked_list_data));
139
+ simple_linked_list_insert_after(tail, s1, f);
140
+ tail = s1;
141
+ s2 = calloc(1, sizeof(struct simple_linked_list_data));
142
+ simple_linked_list_insert_before(tail, s2, e);
143
+ s1 = calloc(1, sizeof(struct simple_linked_list_data));
144
+ simple_linked_list_insert_before(s2, s1, d);
145
+
146
+ printf("head to tail:");
147
+ s1 = head;
148
+ while(s1) {
149
+ if(s1 && s1->value && s1->value != NULL)
150
+ printf(" %s", (c8 *)s1->value);
151
+ s1 = s1->next;
152
+ }
153
+
154
+ printf("\ntail to head:");
155
+ s1 = tail;
156
+ while(s1) {
157
+ if(s1 && s1->value && s1->value != NULL)
158
+ printf(" %s", (c8 *)s1->value);
159
+ s1 = s1->previous;
160
+ }
161
+ printf("\n");
162
+
163
+ s1 = head;
164
+ while(s1) {
165
+ head = s1->next;
166
+ simple_linked_list_remove(s1);
167
+ free(s1);
168
+ s1 = head;
169
+ }
170
+ tail = head = s1 = s2 = NULL;
171
+
172
+ exit(0);
173
+ }
90
174
 
91
175
  */
@@ -12,7 +12,7 @@
12
12
 
13
13
  #ifndef TYPEDEFS_H_Minaswan /* Prevents multiple inclusions */
14
14
  #define TYPEDEFS_H_Minaswan
15
- #define TYPEDEFS_VERSION "0.1.0"
15
+ #define TYPEDEFS_VERSION "0.1.1"
16
16
  #include <stdint.h>
17
17
 
18
18
  typedef uint8_t b8; /* Booleans */
@@ -21,7 +21,9 @@
21
21
  typedef uint64_t b64;
22
22
 
23
23
  typedef char c8; /* Characters */
24
+ typedef const char cc8;
24
25
  typedef unsigned char uc8;
26
+ typedef char as8; /* Auto string */
25
27
 
26
28
  typedef uint8_t u8; /* Unsigned Numbers */
27
29
  typedef uint16_t u16;
@@ -47,14 +49,14 @@ vim.api.nvim_create_autocmd("FileType", {
47
49
  group = "CustomCTypedefs",
48
50
  pattern = { "c", "h", "cpp", "hpp" },
49
51
  callback = function()
50
- vim.cmd([[syntax match CustomTypedef /\<\(b8\|b16\|b32\|b64\|c8\|uc8\|i8\|i16\|i32\|i64\|u8\|u16\|u32\|u64\|f32\|f64\)\>/]])
52
+ vim.cmd([[syntax match CustomTypedef /\<\(b8\|b16\|b32\|b64\|c8\|cc8\|uc8\|as8\|i8\|i16\|i32\|i64\|u8\|u16\|u32\|u64\|f32\|f64\)\>/]])
51
53
  vim.cmd([[highlight CustomTypedef guifg=green ctermfg=green]])
52
54
  end,
53
55
  })
54
56
 
55
57
  For nano, add to /usr/share/nano/c.nanorc:
56
58
 
57
- color green "\<(b8|b16|b32|b64|c8|uc8|i8|i16|i32|i64|u8|u16|u32|u64|f32|f64)\>"
59
+ color green "\<(b8|b16|b32|b64|c8|cc8|uc8|as8|i8|i16|i32|i64|u8|u16|u32|u64|f32|f64)\>"
58
60
 
59
61
  For emacs, it would seem the magic is strong, because it just works. :)
60
62
 
data/lib/to_plural.rb ADDED
@@ -0,0 +1,126 @@
1
+ PLURALS_TABLE = {
2
+ "aircraft" => "aircraft",
3
+ "analysis" => "analyses",
4
+ "analytics" => "analytics",
5
+ "appendix" => "appendices",
6
+ "audio" => "audio",
7
+ "bacterium" => "bacteria",
8
+ "baggage" => "baggage",
9
+ "basis" => "bases",
10
+ "bison" => "bison",
11
+ "buffalo" => "buffalo",
12
+ "cactus" => "cacti",
13
+ "child" => "children",
14
+ "content" => "content",
15
+ "corpus" => "corpora",
16
+ "crisis" => "crises",
17
+ "criterion" => "criteria",
18
+ "currency" => "currency",
19
+ "curriculum" => "curricula",
20
+ "datum" => "data",
21
+ "deer" => "deer",
22
+ "diagnosis" => "diagnoses",
23
+ "die" => "dice",
24
+ "elk" => "elk",
25
+ "ellipsis" => "ellipses",
26
+ "equipment" => "equipment",
27
+ "feedback" => "feedback",
28
+ "firmware" => "firmware",
29
+ "fish" => "fish",
30
+ "focus" => "foci",
31
+ "foot" => "feet",
32
+ "fungus" => "fungi",
33
+ "furniture" => "furniture",
34
+ "garbage" => "garbage",
35
+ "genus" => "genera",
36
+ "goose" => "geese",
37
+ "hardware" => "hardware",
38
+ "hovercraft" => "hovercraft",
39
+ "hypothesis" => "hypotheses",
40
+ "index" => "indices",
41
+ "information" => "information",
42
+ "jeans" => "jeans",
43
+ "knowledge" => "knowledge",
44
+ "louse" => "lice",
45
+ "luggage" => "luggage",
46
+ "man" => "men",
47
+ "marketing" => "marketing",
48
+ "matrix" => "matrices",
49
+ "medium" => "media",
50
+ "memorandum" => "memoranda",
51
+ "metadata" => "metadata",
52
+ "middleware" => "middleware",
53
+ "money" => "money",
54
+ "moose" => "moose",
55
+ "mouse" => "mice",
56
+ "music" => "music",
57
+ "neurosis" => "neuroses",
58
+ "news" => "news",
59
+ "nucleus" => "nuclei",
60
+ "oasis" => "oases",
61
+ "octopus" => "octopi",
62
+ "offspring" => "offspring",
63
+ "ox" => "oxen",
64
+ "pants" => "pants",
65
+ "paralysis" => "paralyses",
66
+ "parenthesis" => "parentheses",
67
+ "person" => "people",
68
+ "phenomenon" => "phenomena",
69
+ "police" => "police",
70
+ "progress" => "progress",
71
+ "research" => "research",
72
+ "rice" => "rice",
73
+ "rubbish" => "rubbish",
74
+ "salmon" => "salmon",
75
+ "scissors" => "scissors",
76
+ "series" => "series",
77
+ "sheep" => "sheep",
78
+ "software" => "software",
79
+ "spacecraft" => "spacecraft",
80
+ "species" => "species",
81
+ "spokesman" => "spokesmen",
82
+ "spokeswoman" => "spokeswomen",
83
+ "squid" => "squid",
84
+ "staff" => "staff",
85
+ "stimulus" => "stimuli",
86
+ "stratum" => "strata",
87
+ "swine" => "swine",
88
+ "syllabus" => "syllabi",
89
+ "synopsis" => "synopses",
90
+ "thesis" => "theses",
91
+ "tooth" => "teeth",
92
+ "traffic" => "traffic",
93
+ "trousers" => "trousers",
94
+ "trout" => "trout",
95
+ "vortex" => "vortices",
96
+ "watercraft" => "watercraft",
97
+ "woman" => "women",
98
+ "zombie" => "zombies"
99
+ }.freeze
100
+
101
+ def pluralize(word)
102
+ if(word.empty?)
103
+ return word
104
+ end
105
+ word = word.to_s.dup
106
+ pattern_replacement = Array.new
107
+ pattern_replacement << [/([^aeiou])y$/i, '\1ies']
108
+ pattern_replacement << [/(ch|sh|x|s|z)$/i, '\1es']
109
+ pattern_replacement << [/fe$/i, 'ves']
110
+ pattern_replacement << [/([^f])f$/i, '\1ves']
111
+ pattern_replacement << [/$/, 's']
112
+ pattern_replacement.each do |pattern, replacement|
113
+ if(word.gsub!(pattern, replacement))
114
+ break
115
+ end
116
+ end
117
+ return word
118
+ end
119
+
120
+ def to_plural(word)
121
+ key = word.to_s.downcase
122
+ if(PLURALS_TABLE.key?(key))
123
+ return PLURALS_TABLE[key]
124
+ end
125
+ return pluralize(word)
126
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: demake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minaswan Nakamoto
@@ -30,7 +30,7 @@ dependencies:
30
30
  - !ruby/object:Gem::Version
31
31
  version: 0.1.3
32
32
  description: |
33
- == Develop, Decorate and manage Dependencies for C (GNU) Makefiles easily with a Ruby script.
33
+ == Develop, Decorate and manage Dependencies for C (GNU) Makefiles easily with Ruby.
34
34
 
35
35
  Install using the Ruby Gem:
36
36
 
@@ -48,8 +48,6 @@ description: |
48
48
  demake example - Create an example application
49
49
  demake oreo - Create a different sample application
50
50
 
51
- Version: 0.2.3
52
-
53
51
  To create a new application:
54
52
 
55
53
  > demake new <name>
@@ -73,9 +71,10 @@ description: |
73
71
 
74
72
  This will create a directory named oreo containing the example.
75
73
 
76
- It requires a demake directory and application file containing the application
77
- names followed by depencencies separated by spaces and with a new line to indicate
78
- a different application. Something like (from the example):
74
+ It requires a demake directory and application file containing the
75
+ application names followed by depencencies separated by spaces and
76
+ with a new line to indicate a different application.
77
+ Something like (from the example):
79
78
 
80
79
  > mkdir demake
81
80
  > echo "hello string" > demake/applications
@@ -94,8 +93,8 @@ description: |
94
93
  > bin/demake example
95
94
  > cd example ; make ; make build ; make test
96
95
 
97
- If you have an existing C application and you want to generate a Makefile for it,
98
- you might try the gen_application shell script.
96
+ If you have an existing C application and you want to generate a Makefile
97
+ for it, you might try the gen_application shell script.
99
98
 
100
99
  > ./gen_application myapp
101
100
  email: minaswan.nakamoto@onionmail.org
@@ -107,11 +106,14 @@ files:
107
106
  - bin/demake
108
107
  - lib/apps/example/Makefile
109
108
  - lib/apps/example/demake/applications
109
+ - lib/apps/example/demake/auto_bits.rb
110
+ - lib/apps/example/demake/auto_list.rb
110
111
  - lib/apps/example/demake/brief_description
111
112
  - lib/apps/example/demake/license
112
113
  - lib/apps/example/demake/settings.rb
113
114
  - lib/apps/example/demake/suggestion
114
115
  - lib/apps/example/demake/test-target.rb
116
+ - lib/apps/example/src/Makefile
115
117
  - lib/apps/example/src/goodbye.c
116
118
  - lib/apps/example/src/hello.c
117
119
  - lib/apps/example/src/string/string.c
@@ -124,22 +126,30 @@ files:
124
126
  - lib/apps/oreo/demake/suggestion
125
127
  - lib/apps/oreo/demake/test-target.rb
126
128
  - lib/apps/oreo/oreo_test.txt
129
+ - lib/apps/oreo/src/Makefile
127
130
  - lib/apps/oreo/src/defines.h
128
131
  - lib/apps/oreo/src/fast_read_file.h
129
132
  - lib/apps/oreo/src/oreo.c
130
133
  - lib/apps/oreo/src/typedefs.h
134
+ - lib/data/libsrc/auto_bits.c
131
135
  - lib/data/libsrc/auto_bits.h
136
+ - lib/data/libsrc/auto_bits.rb
137
+ - lib/data/libsrc/auto_list.rb
138
+ - lib/data/libsrc/auto_string.c
139
+ - lib/data/libsrc/auto_string.h
140
+ - lib/data/libsrc/auto_string_clamp_test.c
132
141
  - lib/data/libsrc/base.h
133
142
  - lib/data/libsrc/cpu_mark_check.h
134
143
  - lib/data/libsrc/defines.h
135
144
  - lib/data/libsrc/fast_read_file.h
136
145
  - lib/data/libsrc/fast_sha2.h
146
+ - lib/data/libsrc/memory_arena.c
147
+ - lib/data/libsrc/memory_arena.h
148
+ - lib/data/libsrc/memory_arena_test.c
137
149
  - lib/data/libsrc/parse_arguments.h
138
150
  - lib/data/libsrc/rb_library.c
139
- - lib/data/libsrc/simple_linked_list
140
151
  - lib/data/libsrc/simple_linked_list.c
141
152
  - lib/data/libsrc/simple_linked_list.h
142
- - lib/data/libsrc/smart_alloc.h
143
153
  - lib/data/libsrc/typedefs.h
144
154
  - lib/template/build_target.rb
145
155
  - lib/template/clean_target.rb
@@ -155,6 +165,7 @@ files:
155
165
  - lib/template/license_target.rb
156
166
  - lib/template/link_library_target.rb
157
167
  - lib/template/strip_build.rb
168
+ - lib/to_plural.rb
158
169
  homepage: https://github.com/MinaswanNakamoto/demake
159
170
  licenses:
160
171
  - MIT
@@ -173,8 +184,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
184
  - !ruby/object:Gem::Version
174
185
  version: '0'
175
186
  requirements: []
176
- rubygems_version: 4.0.10
187
+ rubygems_version: 4.0.15
177
188
  specification_version: 4
178
189
  summary: Develop, Decorate and manage Dependencies for C (GNU) Makefiles easily with
179
- a Ruby script.
190
+ Ruby.
180
191
  test_files: []
Binary file
@@ -1,45 +0,0 @@
1
- /*
2
-
3
- smart_alloc.h -- *Full Library* Header File
4
-
5
- For smart alloc
6
-
7
- See the end of this file for an example.
8
-
9
- Public Functions:
10
-
11
- */
12
-
13
- #ifndef SMART_ALLOC_H_Minaswan /* Prevent multiple inclusions */
14
- #define SMART_ALLOC_H_Minaswan
15
- #ifndef TYPEDEFS_H_Minaswan /* Header guard for typedefs.h */
16
- #define TYPEDEFS_H_Minaswan
17
-
18
- #endif /* TYPEDEFS_H_Minaswan */
19
-
20
- struct smart_alloc_data_s {
21
- struct smart_alloc_data_s *next;
22
- };
23
-
24
- struct smart_alloc_s {
25
- };
26
-
27
- /* Public Functions */
28
-
29
- #ifdef SMART_ALLOC_IMPLEMENTATION
30
-
31
- #endif /* SMART_ALLOC_IMPLEMENTATION */
32
- #endif /* SMART_ALLOC_H_Minaswan */
33
-
34
- /*
35
- Example:
36
-
37
- #define SMART_ALLOC_IMPLEMENTATION
38
- #include "smart_alloc.h"
39
-
40
- i32 arena = smart_alloc_create(0);
41
-
42
- smart_alloc(arena, size, align)
43
-
44
-
45
- */